别再被拖拽界面忽悠了,核心逻辑才是n8n的灵魂
很多刚接触 n8n 的朋友,看着满屏的节点图标,就像走进了琳琅满目的工具店,手里却只有一把锤子——只会简单的“点击-运行”。但想真正搭建出能落地的自动化流程,HTTP Request 和 IF 这两个节点,是绕不过去的两座大山。
笔者在 N8N大学 带学员时发现,90% 的烂流程都死在逻辑不清上。今天,我们就抛开花哨的 UI,用“大白话”拆解从发起网络请求到做出逻辑判断的实战全过程。这不仅是两个节点的使用,更是你从“小白”进阶“架构师”的关键一课。
场景导入:为什么你需要掌握这两个节点?
想象一个场景:你需要监控竞品的价格变动。如果价格低于 100 元,你就发邮件通知采购;如果高于 100 元,就记录到数据库。
如果纯手工操作,你得不断刷新网页、比对数字、手动复制粘贴。而用 n8n 自动化,核心逻辑只有三步:
- 请求数据:去竞品网站把价格抓回来。
- 判断条件:价格是不是小于 100?
- 执行动作:根据判断结果,选择发邮件还是写数据库。
这就是 HTTP Request(负责获取)和 IF(负责决策)的完美配合。掌握了它们,你就能处理 80% 以上的互联网数据交互场景。
核心实操:从抓取数据到智能决策
下面我将以搭建一个“获取天气并判断是否带伞”的简易流程为例,手把手拆解这两个节点的硬核用法。
第一步:搭建 HTTP Request 节点(数据获取)
HTTP Request 是 n8n 的“万能触手”,它能发送请求、获取数据。在节点面板中搜索 HTTP Request 即可拖拽使用。
关键参数设置:
- Method (方法):通常选择
GET(获取数据)或POST(提交数据)。监控价格通常用GET。 - URL (网址):这里填入 API 接口地址。例如,我们使用公开的天气 API:
https://api.openweathermap.org/data/2.5/weather。 - Send Query Parameters (发送查询参数):这是新手最容易忽略的。点击下方的“Add Parameter”,填入
q(城市)和appid(你的 API Key)。
实战技巧: 在设置完参数后,务必点击右上角的 Test Node。如果配置正确,你会在下方的 JSON 预览区看到完整的天气数据(包含 temp, humidity 等字段)。这一步至关重要,它能确保后续流程拿到的数据是真实的。
第二步:添加 IF 节点(逻辑判断)
数据抓回来了,现在需要做决策。拖拽一个 IF 节点,将其连接在 HTTP Request 之后。IF 节点就像交通警察,指挥数据流向不同的分支。
关键参数设置:
- Conditions (条件):n8n 支持“AND”、“OR”等多种复杂逻辑。我们选择最简单的单条件。
- 规则设置:点击输入框,你会看到左侧是数据源,右侧是条件和值。
- 左侧点击选择:
JSON->main->main->temp(这是天气数据中的温度字段)。 - 中间选择:
is larger than(大于)或is smaller than(小于)。 - 右侧输入数值:例如
20(摄氏度)。
- 左侧点击选择:
逻辑拆解: 当 temp > 20 时,数据走 “True” 分支(输出 1);当 temp <= 20 时,数据走 “False” 分支(输出 2)。这就是自动化流程的“大脑”。
第三步:连接动作节点(执行反馈)
逻辑跑通了,最后是执行。我们在 IF 节点的两个输出端口分别连接不同的节点:
- True 分支:连接 Telegram 或 Email 节点,发送消息:“今天很热,记得防晒!”
- False 分支:连接 Set 节点或 No Operation,记录日志或发送另一条消息。
至此,一个具备完整逻辑闭环的自动化流程就搭建完成了。从 HTTP 抓取,到 IF 判断,再到分支执行,一气呵成。
避坑指南:实战中容易报错的细节
笔者在 N8N大学 的实战课中,总结了两个最容易踩的坑,新手必看:
1. JSON 解析路径错误(JSON Path 错误)
在 IF 节点设置条件时,很多同学直接手动输入字段名(如 temp),导致报错 Parameter 'json' is missing。
正确做法: 一定要通过点击菜单选择(如 $.main.temp),n8n 会自动生成正确的 JSON Path。手动输入极易出错,因为数据结构是层层嵌套的。
2. HTTP Request 的鉴权问题
访问需要 API Key 的接口时,如果直接把 Key 放在 URL 参数里,可能会因为特殊字符导致 URL 解析失败。
正确做法: 检查该 API 的文档。如果是 Header 鉴权,请在 HTTP Request 节点的 Authentication 选项卡中选择对应类型(如 Generic Credential Type),并在 Header 中添加 Authorization: Bearer [Key],这样更安全也更稳定。
FAQ 问答
Q1: IF 节点可以同时判断多个条件吗?
完全可以。在 IF 节点的 Conditions 设置中,你可以添加多行规则,并选择逻辑关系是 “AND”(且)还是 “OR”(或)。例如:温度大于 20 AND 湿度小于 50%。
Q2: HTTP Request 请求网页(HTML)失败怎么办?
n8n 的 HTTP Request 主要处理 JSON 数据。如果请求的是普通网页 HTML,可能会乱码或显示不全。建议配合 HTML Extract 节点使用,或者寻找该网站提供的 API 接口,后者效率更高且稳定。
Q3: 流程运行成功,但 IF 判断似乎没生效?
检查数据类型。有时候 API 返回的温度是字符串格式(如 "25"),而你判断时用的是数字(25)。在 IF 节点前加一个 Set 节点,强制转换数据类型(如 parseInt($json.main.temp))即可解决。
总结与资源
从 HTTP Request 获取数据,到 IF 进行逻辑裁决,这是 n8n 自动化流程中最经典、最通用的骨架。掌握这两个节点,你就掌握了控制数据流向的钥匙。
在 N8N大学,我们不仅教怎么拖拽节点,更教背后的逻辑架构。如果你想深入学习更多节点的硬核玩法,欢迎持续关注我们的更新。
相关资源推荐:
- n8n 官方文档:[n8n.io](https://n8n.io)
- JSON Path 在线测试工具:[jsonpath.com](https://jsonpath.com)