Dify 工作流 HTTP 请求节点:4 步配通外部 API 调用的完整方案
发布时间:2026/9/16 10:20:37 锦皓数字建站

Dify 工作流 HTTP 请求节点4 步配通外部 API 调用的完整方案【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow当 Dify 工作流需要拉取天气数据、调用图片渲染服务、或者让 Sandbox 执行一段代码时HTTP 请求节点是工作流和外部系统之间的唯一桥梁。Awesome-Dify-Workflow 项目的 DSL 目录里放着大量已经配好 HTTP 节点的真实工作流文件本文以它们为例把节点配置项逐个拆解开帮你一次走通外部 API 调用的完整流程。前置条件Dify 版本要求与 DSL 导入方式Dify 0.13.0 及以上版本本项目 DSL 要求该版本导入Agent 节点相关功能建议用 1.0新建应用时选择工作流模式左侧节点面板即可找到 HTTP 请求节点下载项目到本地挑一个带 HTTP 节点的 DSL 导入反编译例如 DSL/chart_demo.yml这个文件的 HTTP 节点调用的是公开天气接口不需要额外申请 key导入跑通之后先看节点本身的配置长什么样。HTTP 请求节点配置项拆解7 组字段逐个看点开一个 HTTP 请求节点右侧面板就是全部配置请求方法、地址、认证、请求头、请求体、超时。它们在 DSL 里一一对应导入文件反编译看到的正是面板里的设置配置项DSL 字段说明改错会怎样请求方法methodget/post等拿 GET 调写入类接口服务端直接返回 405请求地址url完整 URL支持变量插值漏写https前缀或域名打错请求发到错误地址认证authorizationno-auth/api-key与自定义请求头重复写认证返回 401请求头headers键值对如Content-Type:application/json与请求体类型不匹配服务端解析不出 body查询参数params追加到 URL 的查询串与 URL 里手写参数重复时部分参数被忽略请求体bodynone / form-data / JSON / raw / binary发 JSON 却选了 form-data服务端全收到空值超时timeoutmax_connect_timeout、max_read_timeout、max_write_timeout三项0表示默认默认值下慢接口被中途掐断节点失败容易忽略的一个细节超时三项全为0是使用平台默认值的意思这是仓库里 DSL 文件的默认状态。确认目标接口慢之后再单独调大max_read_timeout不用三项一起改。用变量插值动态构建请求 URL 与请求体静态配置定好之后下一步是让请求动起来。节点支持用{{#节点ID.输出变量#}}语法引用任意上游节点的输出url、params、headers、body四处都能填。DSL/搜索大师.yml 里整个请求地址就是一个变量搜索节点出结果后由迭代节点逐条把正文链接交给 HTTP 节点抓取# 搜索大师.yml 中整个 URL 都是变量取值来自上一个迭代节点 url: {{#1719878483248.item#}}请求体同样可以动态。仓库里一个代码执行流程的 body 是 JSONcode字段直接嵌入上游代码节点的输出{code: {{#1733309556954.code#}}, language: python3}这里上游代码节点先用json.dumps把代码字符串序列化过所以变量能直接嵌进 JSON 请求体不用手工处理引号转义。API Key 认证与自定义请求头的两种配置方式接口需要鉴权时authorization字段接管。仓库的 DSL 里能看到两种配法二选一即可。方式一用节点内置的 api-key 认证。DSL/Dify 运营一条龙.yml 的图片渲染调用就是这种在config里声明头名称和 key节点自动注入认证头# Dify 运营一条龙.yml 的 api-key 认证自动注入 X-API-Key 头 authorization: type: api-key config: type: custom header: X-API-Key api_key: 你的 API Key方式二authorization保持no-auth把 key 手工写进headers字段仓库里 sandbox 的调用就是这种写法请求头只有一行X-Api-Key:dify-sandbox。两种方式不能叠加既配了 api-key 认证、又往headers里手写认证头同一个请求会带上两个认证字段多数服务直接 401。实战HTTP 请求节点调用 Sandbox 执行代码仓库里最有代表性的端到端例子是 DSL/runLLMCode.ymlLLM 节点生成 pandas 代码代码节点提取代码块并json.dumps序列化HTTP 请求节点把代码 POST 到 sandbox 的执行端点再由代码节点从响应里取出结果。这条链上 HTTP 节点的关键配置只有 4 行# runLLMCode.yml 中sandbox 执行代码节点的关键配置 method: post url: http://sandbox:8194/v1/sandbox/run headers: X-Api-Key:dify-sandbox body: {code:{{#1733309556954.code#}},language:python3} # type: json两个注意点地址用的是 docker 内网主机名sandbox这种地址只在 Dify 容器网络内可达换成外部服务要替换成公网域名代码节点的json.dumps序列化是为了让变量能直接嵌进 JSON 请求体而不用手工转义引号。常见异常排查超时、401 与响应解析失败跑起来报红时先对照这张表覆盖四个高频场景症状根因处理动作节点卡很久后报超时慢接口超过默认超时或地址不可达浏览器先验证地址可达再把max_read_timeout调到 30-60 秒返回 401/403 但 key 确认有效api-key 认证与headers重复写了认证或头名称大小写不一致只保留一个入口用自定义头时把authorization改回no-auth请求发出但服务端提示缺参数body 类型选了 form-data或 Content-Type 不匹配body 改为 JSON 类型请求头声明Content-Type:application/json响应正常但下游代码节点解析报错接口返回的是文本不是 JSON或字段层级比预期多一层代码节点先提取并校验所需字段不要默认响应结构完全标准配置项是固定的变的只是组合。卡住的时候最快的办法是回 DSL 目录找一个能跑通的工作流反编译chart_demo.yml 是最简单的 GET 调用搜索大师.yml 展示了动态 URLDify 运营一条龙.yml 覆盖了多种认证场景看三个之后任何外部 API 调用都不算难题。【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。