跳转到内容

HTTP请求

HTTP请求 用于在工作流中通过 HTTP 协议与外部服务进行数据交互。它支持配置请求方法、URL、请求头、请求参数和请求体等,并内置超时设置,常用于调用第三方 API、获取或提交数据。

指令标识:Http
指令类型:Web服务指令
指令描述:通过 HTTP 协议调用外部接口,发送请求并获取响应数据

工作流支持「可视化编排」和「代码编排」两种创建方式。HTTP请求 的核心业务参数(方法、URL、请求头、请求体等)在两种方式里一致,区别主要是你通过界面表单配置,还是通过脚本配置。

方式怎么用适合人群
可视化编排(推荐)拖入「HTTP请求」节点,在右侧表单填写方法、URL、请求头、请求体,并设置输出变量;支持导入 cURL 快速填充参数大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中以节点方式编排,或通过「执行指令」动态调用(见下方说明)熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再结合「参数说明」对应代码属性名。

  • 需要调用第三方 API 获取数据或提交数据。
  • 需要在不同服务之间进行 HTTP 通信,完成数据传递。
  • 在数据同步、集成场景中,从外部系统获取数据或向外部推送数据。
  • 对接口做功能测试,模拟各种请求场景。
  • 已经确认目标接口的 URL、请求方法(GETPOST 等)。
  • URL 中请勿包含中文或多余字符;请求参数需做 URL 编码。
  • 当前执行环境能访问目标接口地址。
  • 如果接口需要鉴权,请提前准备好请求头中的 Authorization 等信息。
  • 请求体为 JSON 时,请确保是完整、不带多余转义的 JSON 字符串。

下面用一个常见场景演示:调用一个示例接口提交数据并读取响应

  1. 在工作流画布中添加 HTTP请求 节点。
  2. 方法名 选择 POST,在 URL 中填写接口地址,例如:
https://api.example.com/data
  1. 请求头 中填写 [{"name":"Content-Type","value":"application/json"}],在 请求体 中填写要发送的 JSON 数据。
  2. 输出outKey)中填写变量名,例如 httpResult,用于保存响应结果。
  3. 点击运行,确认响应状态码与响应体符合预期。
HTTP请求
界面名称代码属性名类型必填默认值说明
方法名methodNameStringPOST请求方法,可选 POSTGET,默认 POST
URLurlString-请求地址,例如 https://api.example.com/data。请勿包含中文或多余字符。
超时时间timeoutInteger10000高级参数。HTTP 请求的超时时间,单位毫秒,例如 10000
请求头headersString[{"name":"Content-Type","value":"application/json"}]高级参数。请求头信息,JSON Array 格式,包含 Content-TypeAuthorization 等,请勿带多余转义。
请求体inputBodyString-高级参数。请求体内容,JSON 格式,用于 POSTPUT 等需要发送数据的请求,例如 {"name":"test","value":"data"}
请求参数inputListString-高级参数。URL 参数或表单参数,JSON 格式,会自动拼接到 URL 或请求体,例如 [{"name":"param1","value":"value1"}]
是否流式输出streamBooleanfalse是否启用流式输出,true 表示实时接收响应数据流,常用于大模型对话等场景,需服务端支持。
界面名称代码属性名类型必填说明
输出outKeyString保存 HTTP 响应结果的变量名,例如 httpResult,不能为空。

输出结果默认包含三个字段,便于后续引用:

字段类型说明
bodyString响应体内容
statusNumber响应状态码
headersObject响应头信息
  • 节点执行成功,无网络、超时或鉴权错误。
  • 响应状态码符合预期(如 200)。
  • 输出变量中的 body 内容与接口约定的结构一致。
  • 后续节点可以正常引用 ${httpResult.body} 等字段。
HTTP请求
现象 / 报错原文可能原因处理建议
三方工具能请求通,工作流中请求不通参数丢失或格式不正确建议用 cURL 导入填充参数,检查变量引用与请求体 JSON 是否完整
响应超时接口响应慢或网络不通适当调大「超时时间」;可开启失败重试,仍失败再排查网络与接口可用性
返回 4xx / 5xx 状态码鉴权失败、参数错误或服务端异常检查请求头鉴权信息、请求参数与请求体是否正确
请求体未生效(GET 请求)GETHEAD 请求不支持请求体数据改用「请求参数」通过 URL 传递
请求体解析失败JSON 含多余转义或格式不合法确保请求体为完整、不带多余转义引号的 JSON

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

HTTP请求节点主要面向可视化编排,建议在画布中以节点方式配置方法、URL、请求头、请求体与输出变量。若需要在脚本/工作流中动态编排该指令,可使用下方「执行指令」节点按属性名传参;运行后通过输出变量引用响应结果:

# 通过「执行指令」动态编排 HTTP 请求,属性名与可视化表单一致
# 运行后可引用 httpResult.body / httpResult.status / httpResult.headers
print("请在工作流中配置 HTTP 节点:methodName / url / headers / inputBody / outKey")

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

Q1:GET 请求可以配置请求体吗?

Section titled “Q1:GET 请求可以配置请求体吗?”

A: GETHEAD 请求不支持携带请求体,数据应通过「请求参数」附加到 URL 传递。

Q2:三方工具能请求通,工作流中请求不通怎么办?

Section titled “Q2:三方工具能请求通,工作流中请求不通怎么办?”

A: 建议通过 cURL 导入的方式避免参数丢失,检查接口是否支持 HTTPS,验证变量引用是否正确,并确保请求体为完整的 JSON 格式。

A: 可以开启失败重试,配置最大重试次数和重试间隔;同时可选择运行出错时终止执行或继续执行。

A: 开启 stream 后可以实时获取服务端返回的数据流,常用于大模型对话等场景。请确保服务端支持流式输出后再开启,否则无法正常运行。