别再手动搬砖了,HTTP Request 节点才是 n8n 的完全体
笔者在 N8N大学 经常被问到一个问题:n8n 的几百个节点里,哪个最重要?我的答案永远是 HTTP Request。为什么?因为它打破了软件的围墙。

你是否经历过这样的场景:半夜被唤醒,手动登录某个老旧系统去拉取报表;或者为了获取某个数据,不得不在七八个网页之间反复复制粘贴。这种“数字搬运工”的日子,是时候结束了。HTTP Request 节点就像一把万能钥匙,能帮你打开互联网上任何开放的大门,无论是调用现代 API,还是爬取网页源码,它都能搞定。
今天,N8N大学 就带你彻底吃透这个核心节点,从 API 认证到网页抓取,全是硬核干货,带你避坑起飞。
核心实操:从 API 调用到网页抓取
在开始之前,请确保你已经搭建好了 n8n 环境(推荐使用 N8N大学 的 Docker 一键部署方案)。现在,让我们直接进入实战。
第一步:搞定 REST API 调用(以 GitHub API 为例)
调用 API 是 HTTP Request 的看家本领。假设我们要获取 GitHub 上某个用户的公开信息。
- 新建一个 Workflow,添加 HTTP Request 节点。
- Method 选择
GET。 - URL 填入:
https://api.github.com/users/n8nio。 - Send Headers:这是关键!虽然获取公开信息不需要 Token,但很多 API 会要求你设置
User-Agent,否则会报403 Forbidden。在 Headers 选项卡中,添加 Key:User-Agent, Value:n8n-university-bot。 - 点击 Execute Node,你就能看到返回的 JSON 数据了。
第二步:处理认证鉴权(Auth)
这是最让人头大的部分,但 n8n 做得很人性化。HTTP Request 节点有一个专门的 Authentication 选项卡,而不是让你手动拼接 Header。
- Basic Auth:最简单的账号密码验证,填入即可。
- Header Auth:最常用。比如你要调用需要 API Key 的服务,就在 Header Name 填
Authorization,Value 填Bearer 你的API_KEY。 - OAuth 2.0:这是大杀器。n8n 支持几乎所有主流平台的 OAuth2 自动化握手。你只需要填入 Client ID、Secret 和 Scope,n8n 会自动帮你处理刷新 Token 的脏活累活。
笔者提示: 如果你遇到
401 Unauthorized错误,90% 的情况是因为 Token 过期或 Header 拼写错误。先检查 Authentication 配置,再动手改 Body。
第三步:网页抓取(Web Scraping)实战
有些老旧系统没有 API,只有网页?没关系,HTTP Request 依然能打。
假设你想抓取某个新闻网站的标题。通常步骤如下:
- 将 URL 设为目标网页地址。
- Response Format 选择
Text或HTML。 - 执行节点后,你会得到一长串 HTML 代码。这时候,你需要配合 Code 节点(写 JS)或者 HTML 节点(内置提取器)来解析数据。
- 如果网页是动态加载的(JavaScript 渲染),直接请求 URL 拿不到数据。你有两个选择:A. 尝试找隐藏的 API 接口(推荐);B. 使用 n8n 的兄弟项目 n8n-nodes-puppeteer 来模拟浏览器。
在 N8N大学 的实战中,我们更推荐第一种:打开浏览器开发者工具(F12),查看 Network 面板,找到那个返回 JSON 的真实 API 请求,直接用 HTTP Request 调用它,这比解析 HTML 稳定一万倍。
避坑指南:这些报错我也遇到过
虽然 HTTP Request 很强,但新手很容易踩坑。以下两个是最高频的“拦路虎”:
1. SSL 证书验证失败(self signed certificate)
当你请求内网服务或测试环境的 HTTPS 接口时,n8n 会报 SSL Error。这是因为 n8n 默认强制验证 SSL 证书。
解决方案: 在 HTTP Request 节点的 Options 里,找到 Ignore SSL Issues,把它勾选上。记住,生产环境请务必使用正规证书。
2. 403 Forbidden / 429 Too Many Requests
这通常是因为你把 n8n 当作脚本跑得太快,被目标服务器封了。
解决方案: 在 Options 中设置 Batching 或 Rate Limit。比如设置“每次请求间隔 1000ms”,或者在请求循环中加入 Wait 节点。做爬虫要有礼貌,细水长流。
FAQ:N8N大学 答疑时间
Q1: HTTP Request 节点发送 POST 请求时,Body 数据格式选哪个?
A: 绝大多数现代 API 选 JSON。如果你是提交表单(比如老式的 HTML form),选 Form-Urlencoded。如果是上传文件,选 Binary。选错格式接口会报错。
Q2: 如何在请求中带上 Cookie 来维持登录状态?
A: 在 Authentication -> Header Auth 中,新建一个 Header,Name 填 Cookie,Value 填你的 Cookie 字符串(如 session_id=abc123)。
Q3: 抓取网页时中文乱码怎么办?
A: 在 HTTP Request 节点的 Options -> Response 中,找到 Encoding 选项。默认通常是自动的,但如果乱码,尝试手动指定为 UTF-8 或 GBK(国内老旧网站常用)。
总结与资源
HTTP Request 节点是 n8n 连接外部世界的桥梁。掌握了它,你就不再是软件功能的被动接受者,而是数据的主动驾驭者。无论是打通信息孤岛,还是构建自己的数据中台,这都是必经之路。
如果你在实操中遇到了棘手的 API 或者复杂的认证流程,欢迎访问 N8N大学 (n8ndx.com),我们有更多针对具体场景的深度教程和社区支持。别让重复劳动消耗你的创造力,去自动化它!