HTTP请求
HTTP请求 用于在工作流中通过 HTTP 协议与外部服务进行数据交互。它支持配置请求方法、URL、请求头、请求参数和请求体等,并内置超时设置,常用于调用第三方 API、获取或提交数据。
指令标识:Http
指令类型:Web服务指令
指令描述:通过 HTTP 协议调用外部接口,发送请求并获取响应数据
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。HTTP请求 的核心业务参数(方法、URL、请求头、请求体等)在两种方式里一致,区别主要是你通过界面表单配置,还是通过脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐) | 拖入「HTTP请求」节点,在右侧表单填写方法、URL、请求头、请求体,并设置输出变量;支持导入 cURL 快速填充参数 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中以节点方式编排,或通过「执行指令」动态调用(见下方说明) | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再结合「参数说明」对应代码属性名。
什么时候用?
Section titled “什么时候用?”- 需要调用第三方 API 获取数据或提交数据。
- 需要在不同服务之间进行 HTTP 通信,完成数据传递。
- 在数据同步、集成场景中,从外部系统获取数据或向外部推送数据。
- 对接口做功能测试,模拟各种请求场景。
- 已经确认目标接口的 URL、请求方法(
GET、POST等)。 - URL 中请勿包含中文或多余字符;请求参数需做 URL 编码。
- 当前执行环境能访问目标接口地址。
- 如果接口需要鉴权,请提前准备好请求头中的
Authorization等信息。 - 请求体为 JSON 时,请确保是完整、不带多余转义的 JSON 字符串。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:调用一个示例接口提交数据并读取响应。
- 在工作流画布中添加 HTTP请求 节点。
- 在 方法名 选择
POST,在 URL 中填写接口地址,例如:
https://api.example.com/data- 在 请求头 中填写
[{"name":"Content-Type","value":"application/json"}],在 请求体 中填写要发送的 JSON 数据。 - 在 输出(
outKey)中填写变量名,例如httpResult,用于保存响应结果。 - 点击运行,确认响应状态码与响应体符合预期。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 方法名 | methodName | String | 是 | POST | 请求方法,可选 POST、GET,默认 POST。 |
| URL | url | String | 是 | - | 请求地址,例如 https://api.example.com/data。请勿包含中文或多余字符。 |
| 超时时间 | timeout | Integer | 否 | 10000 | 高级参数。HTTP 请求的超时时间,单位毫秒,例如 10000。 |
| 请求头 | headers | String | 否 | [{"name":"Content-Type","value":"application/json"}] | 高级参数。请求头信息,JSON Array 格式,包含 Content-Type、Authorization 等,请勿带多余转义。 |
| 请求体 | inputBody | String | 否 | - | 高级参数。请求体内容,JSON 格式,用于 POST、PUT 等需要发送数据的请求,例如 {"name":"test","value":"data"}。 |
| 请求参数 | inputList | String | 否 | - | 高级参数。URL 参数或表单参数,JSON 格式,会自动拼接到 URL 或请求体,例如 [{"name":"param1","value":"value1"}]。 |
| 是否流式输出 | stream | Boolean | 否 | false | 是否启用流式输出,true 表示实时接收响应数据流,常用于大模型对话等场景,需服务端支持。 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 输出 | outKey | String | 是 | 保存 HTTP 响应结果的变量名,例如 httpResult,不能为空。 |
输出结果默认包含三个字段,便于后续引用:
| 字段 | 类型 | 说明 |
|---|---|---|
body | String | 响应体内容 |
status | Number | 响应状态码 |
headers | Object | 响应头信息 |
- 节点执行成功,无网络、超时或鉴权错误。
- 响应状态码符合预期(如
200)。 - 输出变量中的
body内容与接口约定的结构一致。 - 后续节点可以正常引用
${httpResult.body}等字段。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
| 三方工具能请求通,工作流中请求不通 | 参数丢失或格式不正确 | 建议用 cURL 导入填充参数,检查变量引用与请求体 JSON 是否完整 |
| 响应超时 | 接口响应慢或网络不通 | 适当调大「超时时间」;可开启失败重试,仍失败再排查网络与接口可用性 |
| 返回 4xx / 5xx 状态码 | 鉴权失败、参数错误或服务端异常 | 检查请求头鉴权信息、请求参数与请求体是否正确 |
请求体未生效(GET 请求) | GET、HEAD 请求不支持请求体 | 数据改用「请求参数」通过 URL 传递 |
| 请求体解析失败 | JSON 含多余转义或格式不合法 | 确保请求体为完整、不带多余转义引号的 JSON |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
HTTP请求节点主要面向可视化编排,建议在画布中以节点方式配置方法、URL、请求头、请求体与输出变量。若需要在脚本/工作流中动态编排该指令,可使用下方「执行指令」节点按属性名传参;运行后通过输出变量引用响应结果:
# 通过「执行指令」动态编排 HTTP 请求,属性名与可视化表单一致# 运行后可引用 httpResult.body / httpResult.status / httpResult.headersprint("请在工作流中配置 HTTP 节点:methodName / url / headers / inputBody / outKey")如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:GET 请求可以配置请求体吗?
Section titled “Q1:GET 请求可以配置请求体吗?”A: GET、HEAD 请求不支持携带请求体,数据应通过「请求参数」附加到 URL 传递。
Q2:三方工具能请求通,工作流中请求不通怎么办?
Section titled “Q2:三方工具能请求通,工作流中请求不通怎么办?”A: 建议通过 cURL 导入的方式避免参数丢失,检查接口是否支持 HTTPS,验证变量引用是否正确,并确保请求体为完整的 JSON 格式。
Q3:如何处理 HTTP 请求失败?
Section titled “Q3:如何处理 HTTP 请求失败?”A: 可以开启失败重试,配置最大重试次数和重试间隔;同时可选择运行出错时终止执行或继续执行。
Q4:流式输出有什么要求?
Section titled “Q4:流式输出有什么要求?”A: 开启 stream 后可以实时获取服务端返回的数据流,常用于大模型对话等场景。请确保服务端支持流式输出后再开启,否则无法正常运行。