【n8n】如何跟着AI学习n8n【03】:HTTPRequest节点、Webhook节点、SMTP节点、mysql节点

前言

n8n的系统性学习,对各知识点地毯式学习🔍~

前面课程

定制n8n的AI老师,有AI老师制定学习大纲,参考之前的文档(本系列n8n学习大纲,也在这里):

【n8n】如何跟着AI学习n8n_01:定制AI老师-CSDN博客

第二课开始基础知识学习

【n8n】如何跟着AI学习n8n【02】:基础节点学习-CSDN博客

【n8n】如何跟着AI学习n8n【02.5】:第一部分总练习-CSDN博客

👌好了,下面的课程还是基础知识,苍天大厦,都是一砖一瓦堆砌而成,继续搬砖💪


🧭 Day 7:集成第三方 API ------ 使用 HTTP Request 节点

🧱 学习内容详解

1. HTTP Request 节点简介

HTTP Request 节点是 n8n 中与外部系统通信的核心节点,支持:

  • 发送任意 HTTP 请求(GET / POST / PUT / DELETE 等)
  • 设置请求地址(URL)
  • 添加 Headers(如 Content-Type、Authorization)
  • 设置 Query 参数(如 page=1
  • 设置 Body(如 JSON 数据)
  • 使用表达式动态设置参数(如动态拼接 URL)

🧪 实战任务:调用 GitHub API 获取用户信息

✅ 任务目标:

创建一个流程,输入 CSDN 用户名id,使用 HTTP Request 节点调用页面信息。

Start → Set(设置 userid) → HTTP Request(GET /:userid)

🔧 操作步骤:

  • Start 节点

  • Set 节点:

    • 添加字段 username,值设为 octocat(GitHub 示例用户)
  • HTTP Request 节点:

    • Method: GET
    • URL: https://blog.csdn.net/{``{ $input.item.json.userid}}
  • code 节点:用于查看 API 返回结果

⚠️说明:

在浏览器,访问:https://blog.csdn.net/2501_90561511,会显示教主的CSDN博客:

set节点设置界面:

添加http request节点:

http request节点设置:

可通过浏览器控制台,查看后台发送的信息:

⚠️补充:

某些 API 服务(如 GitHub)必须 设置 User-Agent,否则会返回 403 Forbidden 错误,这时就可以在"send headers"中设置。

🧭 Day 8:Webhook 自动化触发流程

🧱 学习内容详解

1. 什么是 Webhook?

Webhook 是一种基于 HTTP 的回调机制 ,允许第三方服务将数据推送到 n8n 的指定 URL,从而触发自动化流程

例如:

  • 当某个表单一提交,Webhook 接收到数据后,触发发送 Slack 消息
  • 当 GitHub 有新提交,Webhook 接收事件,触发 CI/CD 流程

2. n8n 中 Webhook 节点的作用

在 n8n 中,Webhook 节点会生成一个唯一的 URL,您可以:

  • 将该 URL 配置到外部系统(如表单工具、GitHub、Zapier )
  • Webhook 接收到数据后,流程开始执行后续节点

🧪 实战任务:构建 Webhook 触发流程

✅ 任务目标:

创建一个流程,使用 Webhook 接收外部 请求,然后提取数据并输出。

流程逻辑

Webhook → Set(提取数据)


🔧 操作步骤:

Step 1:添加 Webhook 节点

  • 点击右下角 "+" 按钮
  • 输入 webhook,选择 Webhook 节点
  • 添加后,点击节点配置面板

配置:

  • HTTP MethodGet
  • Path:输入一个唯一路径,如 /form-submission

🧠 Webhook 节点会生成一个 URL:http://localhost:5678/webhook-test/form-submission

点击"listen for test event",n8n会监听地址http://localhost:5678/webhook-test/form-submission

拷贝这个监听地址,打开一个浏览器窗口,访问此地址,显示:

n8n收方的访问信息,作为输出内容,并结束监听:

修改webhood配置:

  • HTTP MethodPost

post方式不能直接用浏览器,通过url访问,这里用curl方式,在dos窗口,输入如下命令:

复制代码
curl -X POST  http://localhost:5678/webhook-test/form-submission -H "Content-Type: application/json" -d "{\"name\": \"Alice\", \"email\": \"alice@example.com\"}"

执行成功,会返回信息:

webhook节点会接受到,curl传入的数据:

也可以使用测试工具网站Hoppscotch, Hoppscotch • Open source API development ecosystem,操作方便一点:

备注:

Hoppscotch使用的更多内容,参考文档

【工具】curl测试工具Hoppscotch 测试工具使用教程(零基础版)-CSDN博客

👌特别要好评一下👌

  • 😄Hoppscotch在线可以测试本地地址,类似的工具postman网站,就只能用桌面程序测试,在线测试不了,教主对此感觉非常神奇,哈哈😄

Step 2:添加 Set 节点

  • 点击 "+" 添加 Set 节点
  • 连接 Webhook → Set

Set 节点中设置字段,例如:

Name Value
name {``{ $input.json.name }}(从 Webhook 数据中提取)
email {``{ $input.json.email }}

Set节点设置及测试:

💡 $input.json 表示 Webhook 接收到的原始数据


Step 3:执行流程(触发 Webhook)

  1. 保存流程
  2. 点击 Webhook 节点右上角的 "Execute Workflow"(执行流程)
  3. n8n 将进入监听模式,等待外部请求

📌 提示:Webhook 流程不会自动执行,需要外部服务发送请求触发


Step 5:使用 Hoppscotch 或 curl 测试 Webhook

使用测试工具网站Hoppscotch, Hoppscotch • Open source API development ecosystem,测试:

运行界面:

🧭 Day 9:Webhook + Slack 自动通知流程

🧱 学习内容详解

1. Webhook 节点的作用

Webhook 是一种事件驱动的自动化触发方式,允许您接收外部系统的 HTTP 请求并触发流程执行。

常用于:

  • 接收表单提交通知
  • 接收 GitHub、GitLab、Notion、Google Form 签名
  • 接收 API 回调

2. 通知 节点的作用

自动发送消息,是自动化通知流程的重要组成部分。


🧪 实战任务:构建 Webhook 触发 Slack 通知/SMTP通知流程

✅ 任务目标:

当某个外部系统(如表单)发送 POST 请求到 n8n 的 Webhook,n8n 接收后提取数据,并自动发送 Slack 消息通知。

流程结构如下:

Webhook → Set(提取 name 和 email) → Slack(发送通知)


🔧 操作步骤

在上一个练习的基础上,set节点后,增加下面节点。

Step :添加并配置 Slack 节点

📌Slack 是一款流行的企业协作和即时通讯平台,专为团队工作设计。它于2013年推出,已成为全球数百万团队使用的协作工具。

核心功能

  1. 频道(Channels) - 按项目、主题或团队组织的对话空间

    • 公开频道:整个组织可见
    • 私密频道:仅受邀成员可见
    • 共享频道:与外部组织协作
  2. 即时消息 - 支持一对一或群组对话

  3. 文件共享 - 可直接上传和预览多种文件类型

  4. 应用集成 - 支持与数千种第三方工具(如Google Drive、Zoom、GitHub等)集成

  5. 搜索功能 - 强大的历史记录搜索能力

Slack 节点功能概述

Slack 节点允许用户与 Slack 平台进行交互。以下是关于 Slack 节点的详细介绍和相关知识。

Slack 节点在 n8n 中可以实现以下功能:

  • 发送消息到 Slack 频道或用户
  • 从 Slack 获取消息
  • 响应 Slack 事件(如特定关键词触发)
  • 与 Slack 的交互式组件(如按钮、菜单)交互
  • 管理 Slack 频道、用户和工作空间

=====》》》但是,国内经常访问不了,下面就来尝试一下替代方案吧,对同胞们来讲,更实用~


✅ 替代方案 :使用 SMTP 节点发送邮件通知

📨 作用:

  • 当流程触发时,自动发送一封邮件到您的邮箱
  • 适合需要接收通知、记录流程触发信息的场景

🧱 配置邮件节点的前提条件:

您需要一个支持 SMTP 的邮箱服务,例如:

  • Gmail
  • QQ 邮箱
  • 163 邮箱
  • 自建邮件服务器(如 Mailgun、SendGrid)

📝 示例流程:

复制代码
Webhook → Set(提取数据) → SMTP(发送邮件)

这里以QQ邮箱为例,需要首先设置邮箱支持SMTP,如何设置QQ邮箱支持,从程序发送邮件,请参考文档:

【问题】如何设置QQ邮箱支持,从程序发送邮箱-CSDN博客

增加smtp节点:

然后选择"send an email"

进入设置:

使用smtp,需要授权凭证,这里新建一个,或者用之前配置好的,配置项如下:

保存后会验证有效性,选择凭证后,填入其他信息。

必填字段
  • From Email : 发件人邮箱(必须与SMTP账户一致,如 123456789@qq.com)。
  • To Email : 收件人邮箱(如 recipient@example.com)。
  • Subject : 邮件标题(如 测试邮件)。
  • Email Body: 邮件正文(支持纯文本或HTML)。
可选功能
  • 附件 :可在 Add File 上传或通过表达式引用文件路径。
  • 抄送/密送 :在 CC/BCC 字段添加其他收件人。

设置示例:

html代码:

复制代码
<h1>{{ $json.name }}申请注册!</h1>
<p>其邮箱是:<strong>{{ $json.email }}</strong></p>

点击"test step",可以查到发送过程,打开自己的邮箱,可以看到邮件信息:


🧭 Day 10:n8n 与 Google Sheets 集成

🧱 学习内容详解

1. Google Sheets 节点简介

Google Sheets 节点可以实现与 Google 表格的集成,支持以下操作:

  • 读取数据(Get)
  • 添加数据(Append)
  • 更新数据(Update)
  • 清除数据(Clear)

非常适合用于:

  • 接收表单数据并写入表格
  • 创建自动化报告
  • 集成用户注册、订单、反馈等数据源

=====》》》很遗憾,国内访问不google,本节跳过,我们就把数据存在数据库里吧,比excel更强大~


⚠️备注:n8n中的excel 365,看起来也行,但注册账号太太麻烦,免费额度还很低,所以果断抛弃了🥱


🧭 Day 11:n8n 与数据库集成(MySQL示例)

🧱 学习内容详解

1. 数据库节点选择

n8n 支持主流关系型数据库,您可根据实际需求选择:

数据库类型 适用场景 节点名称
PostgreSQL 复杂查询、JSON 数据支持 PostgreSQL
MySQL Web 应用常用数据库 MySQL

2. 配置数据库节点的前提条件

📌 连接信息准备
  • 主机地址 :数据库服务器的 IP 或域名(如 localhost127.0.0.1
  • 端口 :默认 PostgreSQL 用 5432,MySQL 用 3306
  • 用户名/密码:有读写权限的数据库账号
  • 数据库名称 :目标数据库名(如 n8n_automation
🔒 安全建议
  • 使用 SSH 隧道VPN 连接生产数据库
  • 为 n8n 创建专用数据库用户(最小权限原则)

🧪 实战任务:Webhook 数据写入数据库(mysql示例)

✅ 任务目标

构建一个完整流程:

  1. 接收 Webhook 提交的用户数据
  2. 使用 Function 节点清洗数据
  3. 将数据写入MySQL 数据库

流程结构:

Webhook → Set → Function(数据清洗)→ MySQL(Insert)


🔧 操作步骤(以 MySQL 为例)

Step 1:数据库准备

mysql的安装及数据库表的创建,参考文档:

【数据库】MySQL 详细安装与基础使用教程(8版本下载及安装)-CSDN博客

数据库及表信息:

Step 2:添加 Webhook 节点

  • 方法:POST
  • Path:/form-submission

Step 3:添加 Set 节点

提取字段:

<JSON>

{

"raw_name": "{{ $json.body.name }}",

"raw_email": "{{ $json.body.email }}"

}

Step 4:添加 Code节点

数据清洗脚本:

<JAVASCRIPT>

复制代码
const cleanedData = {

name: $input.first().json.raw_name.toUpperCase().trim(),

email: $input.first().json.raw_email.toLowerCase().trim()

};

return [ { json: cleanedData } ];

Step 5:添加 MySQL 节点

凭证设置信息:

⚠️警告⚠️:

主机不能用127.0.0.1,或者localhost,必须用host.docker.internal,因n8n部署在docker的容器里,容器里的localhost是其容器内部的重装系统,其所在的主机,需要通过host.docker.internal访问,如果你的n8n不是这种情况,自行判断。

【Docker 容器内的应用(如n8n),访问不到外部主机的应用(如mysql)】相关文档请参考:

https://blog.csdn.net/2501_90561511/article/details/149812379

配置节点参数:

然后,查看数据库,就增加了数据:

step6:自行优化

上边mysql设置的id,是写的固定值,小伙伴们自行优化一下,在前边节点增加id字段值的增加,就更完美了。

结束语

今天就到这里,就到这里,已经加班好多分钟了,太投入了,小红花🌸🌸🌸

相关推荐
松果财经2 分钟前
外卖“0元购”退场后,即时零售大战才刚开始
大数据·人工智能
说私域5 分钟前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的私域流量拉新策略研究
人工智能·小程序·开源
dankokoko11 分钟前
OPENGLPG第九版学习 - 纹理与帧缓存 part2
学习
永洪科技15 分钟前
永洪科技华西地区客户交流活动成功举办!以AI之力锚定增长确定性
大数据·人工智能·科技·数据分析·数据可视化
京东零售技术19 分钟前
京东零售在智能供应链领域的前沿探索与技术实践
人工智能·百度·零售
小小小小小鹿1 小时前
Ai入门-结合rag搭建一个专属的ai学习助手
人工智能·llm
墨雨听阁1 小时前
8.1IO进程线程——文件IO函数
学习
华东数交1 小时前
数本归源——数据资产化的需求
人工智能
三桥君1 小时前
AI驱动的智能设备健康评估系统究竟如何应对企业运维挑战?
人工智能·llm·产品经理