当前位置: 首页 > news >正文

【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 节点中设置字段,例如:

NameValue
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,测试:

  • Method: POST
  • URL: http://localhost:5678/webhook-test/form-submission
  • Body: raw → JSON,输入:
{"name": "Alice","email": "alice@example.com"}

 运行界面:

🧭 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
MySQLWeb 应用常用数据库MySQL

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

📌 连接信息准备
  • 主机地址:数据库服务器的 IP 或域名(如 localhost 或 127.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字段值的增加,就更完美了。

结束语

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

http://www.lryc.cn/news/605489.html

相关文章:

  • 从“碎片化”到“完美重组”:IP报文的分片艺术
  • mysql笔记02:DML插入、更新、删除数据
  • 【读书笔记】Design Patterns (1994)✅
  • 微软发布Microsoft Sentinel数据湖国际版
  • JVM之【Java虚拟机概述】
  • Python实现调整矩阵维度: view
  • 【13】大恒相机SDK C#开发 —— Fom1中实时处理的8个图像 实时显示在Form2界面的 pictureBox中
  • 磁盘坏道检测工具在美国服务器硬件维护中的使用规范
  • MVS相机+YOLO检测方法
  • 【03】大恒相机SDK C#开发 —— 回调采集图像,关闭相机
  • Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)
  • 学习笔记《区块链技术与应用》第三天 网络 难度
  • 详解分布式数据库缓存技术:高性能数据访问的基石
  • 如何在 macOS 上使用 dnsmasq 搭建本地 DNS 缓存/转发
  • 深度解析:基于Python构建的闲鱼自动化营销与信息发送机器人
  • IO流专题
  • linux运维学习第十三周
  • Linux 服务器性能优化:性能监控,系统性能调优,进程优先级,内核升级全解析
  • 前端框架Vue3(二)——Vue3核心语法之OptionsAPI与CompositionAPI与setup
  • AWS云安全审计终极实战指南:构建自动化安全防线
  • 数字化应急预案:构筑现代安全防线
  • Web3:在 VSCode 中使用 Vue 前端与已部署的 Solidity 智能合约进行交互
  • 从渠道渗透到圈层渗透:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径研究
  • 【09】大恒相机SDK C#开发 ——库函数 IntPtr ConvertToRGB24详细解释 及 示例
  • 【JEECG】JVxeTable表格拖拽排序功能
  • 动态规划Day5学习心得
  • python的异步、并发开发
  • (C++)C++类和类的方法(基础教程)(与Python类的区别)
  • C++提高编程学习--模板
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-50,(知识点:TCP/IP 模型)