Skip to content

常见问题和疑问

以下是Webhook 节点的一些常见问题和疑问以及建议的解决方案。

监听多种 HTTP 方法

默认情况下,Webhook 节点接受使用单一方法的调用。例如,它可以接受 GET 或 POST 请求,但不能同时接受两者。如果您想接受使用多种方法的调用:

  1. 打开节点设置
  2. 开启“允许多种 HTTP 方法”
  3. 返回到“参数” 。默认情况下,该节点现在接受 GET 和 POST 调用。您可以在“HTTP 方法”字段中添加其他方法。

Webhook 节点对每种方法都有一个输出,因此您可以根据方法执行不同的操作。

使用 HTTP 请求节点触发 Webhook 节点

HTTP 请求节点向您指定的 URL 发出 HTTP 请求。

  1. 创建新的工作流程。
  2. 将 HTTP 请求节点添加到工作流。
  3. “请求方法”下拉列表中选择一种方法。例如,如果您在 Webhook 节点中选择 GET 作为HTTP 方法,则在“HTTP 请求”节点中选择 GET 作为请求方法。
  4. 从 Webhook 节点复制 URL,并将其粘贴到HTTP 请求节点中的URL字段中。
  5. 如果使用 webhook 节点的测试 URL:使用 Webhook 节点执行工作流。
  6. 执行 HTTP 请求节点。

使用 curl 触发 Webhook 节点

您可以使用curl发出触发 Webhook 节点的 HTTP 请求。

笔记

在示例中,将其替换为您的 Webhook URL。这些示例会发出 GET 请求。您可以使用在HTTP 方法中设置的任何 HTTP 方法。

发出不带任何参数的 HTTP 请求:

1
curl --request GET <https://your-n8n.url/webhook/path>

发出带有 body 参数的 HTTP 请求:

1
curl --request GET <https://your-n8n.url/webhook/path> --data 'key=value'

发出带有标头参数的 HTTP 请求:

1
curl --request GET <https://your-n8n.url/webhook/path> --header 'key=value'

发出 HTTP 请求来发送文件:

1
curl --request GET <https://your-n8n.url/webhook/path> --from 'key=@/path/to/file'
Replace /path/to/file with the path of the file you want to send.

发送字符串类型的响应

默认情况下,响应格式为 JSON 或数组。要发送字符串类型的响应,请执行以下操作:

  1. 选择响应模式>当最后一个节点完成时
  2. 选择响应数据>第一个条目 JSON
  3. 选择添加选项>属性名称
  4. 输入包含响应的属性的名称。默认值为。
  5. 编辑字段节点连接到 Webhook 节点。
  6. 在编辑字段节点中,选择添加值>字符串
  7. “名称”字段中输入属性的名称。该名称应与步骤 4 中的属性名称一致。
  8. 字段中输入字符串值。
  9. “仅保留设置”切换为开启(绿色)。

当您调用 Webhook 时,它会从编辑字段节点发送字符串响应。

测试 URL 与生产 URL

n8n为每个 Webhook 节点生成两个Webhook URL :一个测试 URL和一个生产 URL

构建或测试工作流时,请使用测试 URL 。 准备好在生产环境中使用 Webhook URL 后,请使用生产 URL

URL 类型 如何触发 聆听时长 数据显示在编辑器 UI 中?
测试网址 选择监听测试事件并从源触发测试事件。 120秒 ✅
生产 URL 激活工作流程 直到工作流程停用 ❌

有关详细信息,请参阅工作流开发

白名单中的 IP 地址无法连接

如果您无法从 IP 白名单中的 IP 地址进行连接,请检查您是否在反向代理后面运行 n8n。

如果是这样,请将环境变量设置为 n8n 后面运行的反向代理的数量。

每个路径和方法只有一个 webhook

n8n 只允许为每个路径和 HTTP 方法组合注册一个 webhook(例如,一个的请求)。这样可以避免在选择哪个 webhook 接收请求时产生歧义。

如果您收到一条消息,提示您选择的路径和方法已被使用,您可以:

  • 停用具有冲突的 webhook 的工作流。
  • 更改其中一个冲突的 webhook 的 webhook 路径和/或方法。