Awesome-Dify-Workflow|Dify HTTP 请求节点:5 分钟把第三方接口接进工作流
【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow
搭工作流最容易卡住的就是调第三方接口这一步:URL 填错、认证头漏配、返回内容下一个节点引用不到。这篇文章基于 Awesome-Dify-Workflow 里的真实 HTTP 请求节点,从能直接复制跑通的最小配置讲起,逐项过一遍每个字段管什么,最后给一张排查表,看完照着配就能通。
🔌 先跑通:最小可用配置
下面这段来自仓库里的 DSL/chart_demo.yml,作用是拉一份天气数据,没有任何认证,拿来验证节点能跑:
data: method: get # 请求方法 url: https://weather.cma.cn/api/climate?stationid=58367 # 目标接口 headers: '' # 不额外加请求头 body: { type: none } # GET 不带请求体 timeout: { max_connect_timeout: 0, max_read_timeout: 0, max_write_timeout: 0 }导入 Dify 后直接运行。跑通后节点会输出两个东西:body是接口返回值原文,status_code是状态码,后面的节点随时可以引用。
📋 逐项拆解:每个配置项在管什么
请求方法 method:请求怎么发
| 项目 | 说明 |
|---|---|
| 控制什么 | 请求发出去的方式,可选 get / post / put / delete 等 |
| 不配会怎样 | 节点没有默认值,保存时就会报错 |
| 配置注意 | 查询类用 get,参数放 URL 或 params;要提交数据才用 post 并带 body |
URL 地址 url:请求发到哪里
| 项目 | 说明 |
|---|---|
| 控制什么 | 目标服务端点,支持{{#节点ID.变量名#}}引用前面任意节点的输出 |
| 不配会怎样 | 没有请求目标,节点无法执行 |
| 配置注意 | 这里有个坑:URL 里的中文或特殊字符要先做 URL 编码,不编码大概率 400 |
请求头 headers 与查询参数 params:附加什么
| 项目 | 说明 |
|---|---|
| 控制什么 | headers 按多行Key: Value写请求头;params 拼在 URL 后面的查询串 |
| 不配会怎样 | 公开接口无感;要求 Content-Type 的服务会直接拒绝 |
| 配置注意 | 发 JSON 时 headers 里写Content-Type:application/json,冒号后不能有空格 |
请求体 body 与认证 authorization:数据和服务钥匙
| 项目 | 说明 |
|---|---|
| 控制什么 | body.type 支持 none / form-data / x-www-form-urlencoded / json / raw / binary;authorization 支持 no-auth 和 api-key(自定义 header 名 + key 值) |
| 不配会怎样 | 公开接口没事,私有接口返回 401 / 403 |
| 配置注意 | 密钥别硬编码进 DSL,用环境变量引用,仓库里 DSL/Dify 运营一条龙.yml 里 api-key 型认证可以对照 |
超时 timeout 与输出变量:等多久、收到什么
| 项目 | 说明 |
|---|---|
| 控制什么 | connect / read / write 三个超时,填 0 走系统默认 |
| 不配会怎样 | 0 就是默认值,短接口不用管 |
| 配置注意 | 划重点:status_code输出是字符串,IF/ELSE 判断成功时条件值要写'200'而不是数字 200 |
🎯 换个场景练手
场景一:查天气再写进日报
- 输入:气象站编号 58367
- 配置:关键就两行
method: get url: https://weather.cma.cn/api/climate?stationid=58367- 输出:
body里是温度、降水 JSON,接一个 LLM 节点直接改写成日报文字,完整流程见 DSL/chart_demo.yml
场景二:把生成好的文案发给图片渲染服务
- 输入:上游 LLM 节点产出的提示词
- 配置:关键四行
method: post url: https://api.imgrender.net/open/v1/pics headers: Content-Type:application/json body: { type: json, data: '{{#1721652505347.output#}}' }- 输出:
body里是图片 URL,交给下一个节点落图
🩹 卡住了?先查这张表
| 现象 | 最常见原因 | 30 秒排查动作 |
|---|---|---|
| 连接超时 | 服务不通或读超时太短 | 先在终端 curl 一遍 URL,能通再把 read 超时设 30 |
| 401 / 403 | 认证头格式错 | 对照接口文档核对 api-key 的 header 名,清掉 key 两端空格 |
| 400 错误 | Content-Type 与 body 不匹配 | 确认头里是Content-Type:application/json,且 body 是合法 JSON |
| body 为空 | 返回了 HTML 错误页 | 先看 status_code,再看 body 前几个字符 |
| 偶尔成功偶尔失败 | 网络抖动或服务限流 | 节点面板上"失败时重试"设成 3 次再观察 |
➡️ 还能往哪走
- 想看到"查天气 → 出图"的完整编排,直接拆 DSL/chart_demo.yml
- 想学带认证、多接口串联的长流程,参考 DSL/Dify 运营一条龙.yml
- 想在迭代里批量请求一组 URL,看 DSL/搜索大师.yml 里 HTTP 节点在循环中的用法
把上面那张排查表存进备忘录,下次接口一抖照着行查。要接新接口,先复制第一段最小配置,把 URL 换了跑通,再按字段一个个补。
【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows.项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考