跳至内容

常见问题与疑问#

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

监听多种HTTP方法#

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

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

Webhook节点为每个方法提供了一个输出,因此您可以根据方法执行不同的操作。

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

HTTP Request节点可向您指定的URL发起HTTP请求。

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

使用curl触发Webhook节点#

你可以使用curl发送HTTP请求来触发Webhook节点。

注意

在示例中,请将替换为您的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  --from 'key=@/path/to/file'
/path/to/file替换为您要发送的文件路径。

发送字符串类型的响应#

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

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

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

测试URL与生产URL对比#

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

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

URL类型 如何触发 监听持续时间 在编辑器界面显示数据?
测试URL 选择监听测试事件并从源触发测试事件。 120秒 ✅
生产环境URL 激活工作流 直到工作流停用 ❌

更多信息请参考工作流开发

白名单中的IP连接失败#

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

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

优云智算