干货 | 揭秘一下,如何巧用手机快捷指令一键调用服务端脚本
1. 前言
大家好,我是安果!
之前写过一篇文章,文中利用 iOS 自带的「 快捷指令 」+ 闹钟创建个人自动化动作,获取当前位置和实时天气,并通过语音播放出来
快捷指令作为 iOS 端的一款神器,很多自动化的操作都可以通过他完成,如果搭配 「 Siri、触控事件 」使用,可以大大节省我们的时间
本篇文章主要是盘点快捷指令调用服务器脚本的几种方式
2. SSH 运行
第一种方式,新建快捷指令,然后创建一个「 通过 SSH 运行脚本 」的操作
然后,指定服务器主机名、端口号、用户名、密码、认证方式、密码、执行脚本
其中,
认证方式设置为「 密码 」
输入这一栏清空,然后输入待执行的脚本
比如执行脚本的命令为:python3 main.py
为了方便,也可以将服务器的主机名、端口号、用户名、密码、待执行的脚本设置为变量,然后进行引用
最后添加一个「 播放声音 」或「 通知 」的操作,将「 Shell 脚本结果 」作为参数传入即可
这样,就创建一个通过 SSH 调用服务端脚本的快捷指令,点击右下角的图标可以调式运行
3. 调用接口
3-1 实现 API 接口
首先,我们需要将调用脚本的逻辑写成一个 API 接口
比如,我们可以使用 FastAPI 快速撸一个
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/rsc_api")
async def rsc_api(username: str, password: str):
if username.strip() and password.strip():
# 执行操作
code, result = start(username, password)
return {
"code": code,
"msg": result
}
return {
"code": 1,
"msg": "用户名或密码不能为空!"
}
然后,使用 nohup 命令使服务脚本在后台运行
# 后台运行脚本
# 绑定8000端口
# 日志目录:/rsc.log
nohup hypercorn test_api:app --bind 0.0.0.0:8000 > /rsc.log 2>&1 &
3-2 快捷指令
我们新建一个快捷指令,添加一个「 URL 」的操作,指定请求的地址
# 请求地址URL
http://192,168.39.91:8000/rsc_api
然后,再添加一个「 获取 URL 内容 」的操作
展开这部分操作,填入请求方法、头部、请求体( 也可以通过变量的方式设置进去 )
接着,添加一个「 文本 」操作
将输入内容填充为「 URL 的内容」,将响应的结果展示出来
最后,可以点击后下角的运行进行调试
4. 扩展操作及 Siri、触控
4-1 扩展操作
快捷指令还有几个比较常用且好用的操作,比如:
匹配文本
获取匹配文本的组
替换文本
如果
这些操作应对一些复杂精准的场景,可以对响应结果进行二次处理及逻辑流程预设,更方便我们使用
4-2 Siri 语音控制
如果设备开启了 Siri 语音控制,那么使用「 快捷指令 + Siri 」可以一键执行脚本
4-3 触控 + 快捷指令
对于不想使用 Siri 的读者,触控功能也可以与快捷指令关联上,一键执行
比如,使用触控功能快速打开支付宝的支付码
首先,新建一个快捷指令,命名为「 支付宝支付 」
然后,新建一个 「 URL 」的操作
指定内容为:
alipayqr://platformapi/startapp?saId=20000056
接着,新建一个「 打开 URL 」的操作,然后保存
最后,进入到设置,依次选择辅助功能 - 触控 - 轻点背面 - 轻点两下 - 选择上面创建的快捷指令
这样平时需要支付的时候,快速轻点两下手机背面,就可以快速调出支付宝支付二维码
5. 最后
有人可能会说,服务端直接使用定时任务运行脚本不就行了,为什么要这么麻烦?
实际上,有些场景可能需要我们主观地去运行脚本,这时候手机端主动触发更满足我们的需求
如果你的手机刚好越狱了,可以试试安装「 autotouch」、「 activator 」等插件实现 iOS 端的完全自动化