8. HTTP 请求¶
「HTTP 请求」所执行的功能,可简单的理解为执行脚本
脚本分为 「CRON 定时脚本任务」、「UI交互脚本」、「网络切换脚本」
其对应的配置文件位置为 [task_local]
可通过首页下方工具栏进入(默认UI),或 点击右下角「风车」进入设置 → 下方「工具 & 分析」- 「HTTP 请求」

8.1 添加 HTTP 请求¶
注意
以下主要讲的是 [task_local] 区块下的内容,所以示例都以 [task_local] 开头表明在其之下,并不是让你每个参数字段前都加上 [task_local]。
8.1.1 配置文本添加¶
提示
就像任何浏览器一样,脚本 URL 字符串中 # 之后的内容永远不会发送到服务器。可以在脚本 URL 后添加 # 来附加自定义参数,并在脚本中使用 API $environment.sourcePath 获取完整路径并提取自定义参数。例如:
其基本格式为
脚本参数:
-
event-network:对应「网络切换脚本」,当网络发生变化时自动执行(相关任务仅在 Quantumult X Tunnel 运行时触发) -
event-interaction:对应「UI交互脚本」,须与UI交互执行(相关任务仅在 Quantumult X Tunnel 运行时触发) -
5或6位CRON表达式:对应「CRON 定时脚本任务」,5位表达式从分开始,支持 5 或 6 位 CRON(不含 command 字段),具体请自行谷歌
资源链接:脚本资源位置,可为远程脚本,也可为本地脚本(保存在「我的 iPhone - Quantumult X - Scripts」或「iCloud Drive - Quantumult X - Scripts」)
tag:资源标签,可选
img-url:资源图标,可选
require-devices:可选参数,指定仅在特定设备ID上加载此任务,多个设备用逗号分隔(设备ID可在「设置 - 其他设置 - 关于」中查找)
enabled:是否启用该 HTTP 请求,若不使用可改为 false;
注意
脚本任务需 Quantumult X Tunnel (VPN) 处于运行状态,以及计划任务开关(右上角⏰)为开启状态
$task.fetch() 可组装 HTTP 请求并处理响应,仅支持文本正文。一个 $task.fetch() 可嵌入另一个 $task.fetch() 的完成处理器中(用于实现串行请求而非并发请求)。
默认 HTTP 请求超时时间为 10 秒。
8.1.2 UI 添加¶

- 如果给的是「完整的任务格式」,如:
可通过右上角 +→ 文本方式添加,直接粘贴即可

- 如果给的是「定时任务类型」,且为单独的脚本链接(或本地脚本文件),请阅读脚本内容,根据其需要,设置 CRON表达式
可通过右上角 +→ 高级,填写参数即可

8.2 执行脚本¶
注意
脚本任务需 Quantumult X Tunnel (VPN) 处于运行状态,以及计划任务开关(右上角⏰)为开启状态
-
event-network:对应「网络切换脚本」,当网络发生变化时自动执行 -
event-interaction:对应「UI交互脚本」,须与UI交互执行
启动 VPN 后,长按节点,即可执行

5或6位CRON表达式:对应「CRON 定时脚本任务」,5位表达式从分开始,具体请自行谷歌。也可左滑点击按钮执行或查看执行时的日志
8.3 任务仓库¶
- 添加任务仓库
路径需要填写资源的raw格式链接,点此查看教程
以下方的链接举例(这是个网页,不是真正能使用的资源链接):
或者将链接里的`blob`修改为`raw`:

- 从仓库中添加任务

8.4 本地 HTTP 后端 [http_backend]¶
提示
Quantumult X 支持部署本地 HTTP 服务器并使用 JavaScript 进行数据处理。部署后应通过 http://127.0.0.1:9999/your-path/your-api/ 访问。
其基本格式为:
- 脚本路径:JavaScript 脚本的远程 URL 或本地文件路径
tag:资源标签,必填,用于标识此后端服务path:匹配路径,使用正则表达式匹配请求路径,如^/example/v1/img-url:资源图标,可选require-devices:可选参数,指定仅在特定设备ID上加载此后端enabled:是否启用
在脚本中可用的输入变量:$request.url、$request.path、$request.headers、$request.body
输出使用 $done,如:$done({status:"HTTP/1.1 200 OK", headers:{}, body:"here is a string"}) 来发送响应。
还可以使用签名或其他验证方法来校验请求的合法性。