HTTP请求
发送 HTTP 请求并拿到返回结果。调用网页接口、上传文件、接非 OpenAI 兼容的大模型,都可以用它。OpenAI 兼容接口优先用 AI 调用。
当前模块定义
sys:http输入 17 · 输出 6 · 枚举 3
输入参数
- 网址
urlText必填要打开的网页地址
- 方法
methodEnum必填Http请求的类型
7 个选项GET、POST、PUT
GET默认GETPOSTPOSTPUTPUTDELETEDELETEPATCHPATCHHEADHEADOPTIONSOPTIONS - 请求头
headerText可选发送的HttpHeader。每行一个header,格式为Name:Value
- Cookie
cookieText可选请求的cookie内容
- 请求体类型
bodyTypeEnum可选Http 请求体的内容
5 个选项JSON、文本表单、MultiPart表单
JSON默认JSON文本表单FORMMultiPart表单FILE单个文件或图片变量(二进制)BinaryFile纯文本Text - 请求体
bodyText可选Http 请求 BODY。格式要求详见模块帮助。
- 内容类型
contentTypeText可选选填。上传内容的ContentType,适用于"单个文件或图片变量(二进制)"或"纯文本" 请求体类型。
- 结果类型
resultTypeEnum可选Http请求的结果类型
文本默认Text图片Image文件File - UserAgent
uaText可选查看默认值
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
- 超时时间
expireSecondsNumber可选请求超时时间(秒数)
- 禁止重定向
noAutoRedirectBoolean可选是否禁止自动跳转
- 强制使用代理
forceProxyBoolean可选即使系统设置中未启用代理,本步骤仍然使用代理访问。
- 忽略HTTPS证书验证
skipCertVerifyBoolean可选 - 显示进度条
showProgressBoolean可选是否显示上传下载进度条
- 启用SSE流式响应
useSSEBoolean可选调用AI接口时使用,通过子程序处理接收到的流式响应内容
- SSE流式响应处理子程序
sseSpNameText可选用于处理接收到的流式响应消息,每次收到调用一次,通过data输入变量接收内容。
- 失败后停止
stopIfFailBoolean可选失败后是否停止动作
输出参数
- 是否成功
isSuccessBoolean是否操作成功
- 状态码
statusCodeInteger返回的http请求状态码
- 响应头
respHeadersDict返回的HTTP响应Headers
- 响应Cookies
respCookiesDict返回的Cookies
- 文本结果
contentText返回的文本内容
- 图片结果
imgResultImage返回的图片内容
概述
使用本模块需要了解 HTTP 的基本概念(方法、请求头、状态码)。
HTTP请求
参数说明
网址:要调用的 URL。
方法:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS。
请求头:每行 Name:Value。不要在这里写 Content-Type,放到 内容类型。
Cookie:请求附带的 Cookie。要把词典转成 Cookie 文本(1.9.5+):
$= String.Join(" ", {dict}.Select(x => x.Key + "=" + x.Value + ";"))
也可以用动作从当前网页复制:
请求体类型:方法不是 GET / HEAD / OPTIONS 时出现。JSON、文本表单、MultiPart表单、单个文件或图片变量(二进制)、纯文本。
请求体:按类型填,见下文。
内容类型:对应 Content-Type。对 JSON、纯文本、单个文件或图片变量有效(1.38.14 之前仅二进制有效)。
结果类型:文本、图片、文件。要和接口实际返回的类型一致。
UserAgent:模拟浏览器。
超时时间:秒数,默认 100。
禁止重定向:禁止自动跟随 HTTP 跳转。默认关闭。
显示进度条:上传/下载进度。默认关闭。
忽略HTTPS证书验证:忽略证书异常。默认关闭。
强制使用代理:本步骤启用代理。优先用软件里配置的代理;没配则用系统代理。下面是软件设置里的相关项:

启用SSE流式响应:用子程序处理流式响应。打开后应指定处理子程序。
SSE流式响应处理子程序:每次收到一行就调用一次。子程序需要有名为 data 的输入变量。
失败后停止:失败是否中止动作。默认开启。
输出
- 是否成功
- 状态码:HTTP 状态码。
- 响应头:词典。
- 响应Cookies:词典。
- 文本结果:结果类型为文本时是响应正文;为文件时是临时文件路径(1.31.1+)。
- 图片结果:结果类型为图片时。
请求体格式
JSON
Content-Type 为 application/json。请求体应是合法 JSON:
{"title":"test","sub":[1,2,3]}
用表达式生成:
$= JsonConvert.SerializeObject(
new {
字段1 = {变量1},
字段2 = {变量2}
}
)
1.29.0+ 也可以直接把词典或匿名对象交给请求体,Quicker 会转成 JSON:$= {词典变量}、$= new { name = "张三", age = 20 }。更多写法见 词典类型、表达式。
文本表单
Content-Type 为 application/x-www-form-urlencoded,类似网页 <form>:
id=3&name=Hello¶m1=value1
MultiPart表单
Content-Type 为 multipart/form-data。每行一个参数:参数名=值,或 参数名=FILE:文件路径 / 参数名=IMG:图片变量名:
param1=value1
param2=value2
FileParam=FILE:文件完整路径
ImgFileParam=IMG:图片变量名
单个文件或图片变量(二进制)
上传文件:FILE:完整文件路径(冒号小写)。上传图片变量:IMG:变量名。
FILE:C:\Users\Leal\Pictures\jiupian.PNG
IMG:img
SSE 流式输出
不少大模型用 SSE 推结果。OpenAI 兼容接口用 AI 调用;其它厂商可以用本模块自己处理。
先做处理子程序,定义一个 data 输入,用来接收每一行。通常只处理以 data: 开头的行,后面多半是 JSON。
运行动作后保存变量的值,并在下次运行时加载。仅在特殊情况下使用。
data: 后面按接口解析出正文,再写到文本窗口或发送到前台。有的接口每次只给新增字,有的给到目前为止的全文(通义千问属于后者),输出时要自己去重。
然后打开 启用SSE流式响应,填子程序名。接口若要求在头或请求体里声明流式,也一并加上。
HTTP请求
乱码问题
抓某些网页出现乱码时,可试这个子程序:
限制与排障
- 证书报错可临时打开 忽略HTTPS证书验证。
- 需要登录态时补 Cookie / 请求头;不要把
Content-Type写进请求头。 - SSE 子程序必须有
data输入;没指定子程序时流式选项无效。 - 结果类型和真实响应不一致时,文本结果 / 图片结果 会空。
示例动作
相关链接
更新历史
- 20230312 增加强制使用代理。
- 20230602 1.38.14:文本、JSON 请求体可通过 内容类型 设定
Content-Type。 - 20240418 1.42.32 增加流式输出。
更新于