HTTP 请求节点
HTTP 请求节点是 n8n 中最通用的节点之一。它允许您使用 REST API 发出 HTTP 请求,以从任何应用程序或服务查询数据。您可以将 HTTP 请求节点用作常规节点,也可以将其附加到
AI 代理上作为工具使用。使用此节点时,您将创建一个 REST API 调用。您需要了解一些基本的 API 术语和概念。
创建HTTP请求有两种方式:配置
节点参数或者导入curl命令。节点参数
方法
选择请求所使用的方法:
- 删除
- 得到
- 头
- 选项
- 修补
- 邮政
- 放
网址
输入您想要使用的端点。
验证
n8n 建议在可用的情况下使用
“预定义凭证类型”选项。与配置通用凭证相比,它提供了一种更简单的设置和管理凭证的方法。预定义凭据
n8n 支持的集成凭证,包括内置节点和社区节点。使用
预定义凭证类型进行自定义操作,无需额外设置。更多信息,请参阅自定义 API 操作。通用凭证
n8n 不支持集成凭据。您需要手动配置身份验证流程,包括指定所需的 API 端点、必要参数以及身份验证方法。
您可以选择以下方法之一:
- 基本身份验证
- 自定义授权
- 摘要式认证
- 标头授权
- OAuth1 API
- OAuth2 API
- 查询授权
有关设置每种凭证类型的更多信息,请参阅
HTTP 请求凭证。发送查询参数
查询参数充当 HTTP 请求的过滤器。如果您正在交互的 API 支持查询参数,并且您发出的请求需要过滤器,请启用此选项。
使用以下可用选项之一
指定查询参数:- 使用以下字段:输入查询参数的名称/值对。要输入更多查询参数的名称/值对,请选择“添加参数” 。名称是您要过滤的字段的名称,值是过滤器值。
- 使用 JSON :输入JSON来定义您的查询参数。
请参阅您服务的 API 文档以获取详细指导。
发送标头
使用此参数随您的请求发送标头。标头包含有关您的请求的元数据或上下文。
使用可用选项之一
指定标头:- 使用以下字段:输入标头参数的名称/值对。要输入更多标头参数的名称/值对,请选择“添加参数” 。名称是您要设置的标头,值是您要为该标头传递的值。
- 使用 JSON :输入JSON来定义您的标题参数。
请参阅您服务的 API 文档以获取详细指导。
发送正文
如果您需要发送带有 API 请求的正文,请启用此选项。
然后选择最符合您要发送的正文内容格式的
正文内容类型。URL编码的表单
使用此选项可将您的正文作为 发送。
使用可用选项之一
指定主体:- 使用以下字段:输入正文参数的名称/值对。要输入更多正文参数的名称/值对,请选择“添加参数” 。名称应为表单字段名称,值是您希望为该字段设置的值。
- 使用单个字段:在单个Body参数中以格式输入名称/值对。
请参阅您服务的 API 文档以获取详细指导。
表单数据
使用此选项可将您的正文作为 发送。
通过选择
参数类型来配置您的身体参数:- 选择表单数据来输入名称/值对。
- 选择n8n 二进制文件,从节点有权访问的文件中提取正文。
- 名称
- :输入要设置的字段的 ID。
- 输入数据字段名称
- :输入包含要处理的二进制文件数据的传入字段的名称。
选择
添加参数以输入更多参数。请参阅您服务的 API 文档以获取详细指导。
JSON
使用此选项将您的正文作为 JSON 发送。
使用可用选项之一
指定主体:- 使用以下字段:输入正文参数的名称/值对。要输入更多正文参数的名称/值对,请选择“添加参数” 。
- 使用 JSON :输入JSON来定义您的身体。
请参阅您服务的 API 文档以获取详细指导。
n8n二进制文件
使用此选项可以将存储在 n8n 中的文件内容作为正文发送。
输入包含文件的传入字段的名称作为
输入数据字段名称。有关如何格式化文件的详细指导,请参阅服务的 API 文档。
生的
使用此选项可在正文中发送原始数据。
- 内容类型:输入用于原始正文内容的标头。请参阅 IANA媒体类型文档,查看完整的 MIME 内容类型列表。
- 正文:输入要发送的原始正文内容。
请参阅您服务的 API 文档以获取详细指导。
节点选项
选择
“添加选项”即可查看并选择这些选项。除非另有说明,所有参数均可使用选项。查询参数中的数组格式
选项可用性
仅当您打开
“发送查询参数”时,此选项才可用。使用此选项可控制查询参数中包含的数组的格式。请从以下选项中选择:
- 无括号:数组将格式化为数组中每个项目的名称=值,例如: 。
- 仅括号:节点在每个数组名称后添加方括号,例如: 。
- 带索引的括号:节点在每个数组名称后添加带有索引值的方括号,例如: 。
请参阅您服务的 API 文档以获取有关使用哪个选项的指导。
批处理
控制如何批量处理大量输入项:
- 每批次项目数:输入每批次中要包含的输入项目数。
- 批处理间隔:输入每批请求之间的等待时间(以毫秒为单位)。输入 0 表示无批处理间隔。
忽略 SSL 问题
默认情况下,n8n 仅在 SSL 证书验证成功时才会下载响应。如果您想在 SSL 证书验证失败的情况下也下载响应,请启用此选项。
小写标题
选择是否将标题名称小写(开启,默认)或不小写(关闭)。
重定向
选择是否遵循重定向(默认开启)。如果开启,请在“
最大重定向次数”中输入请求应遵循的最大重定向次数。回复
使用此选项设置有关预期 API 响应的一些详细信息,包括:
- 包含响应标头和状态:默认情况下,节点仅返回响应正文。启用此选项可返回完整响应(标头和响应状态代码)以及响应正文。
- 永不出错:默认情况下,仅当响应返回 2xx 代码时,节点才返回成功。启用此选项后,无论返回什么代码,节点均返回成功。
- 响应格式:选择返回数据的格式。选择范围:
- 自动检测
- (默认):节点根据返回的数据检测并格式化响应。
- 文件
- “将输出放入字段”
- 中输入您希望返回文件的字段名称
- 。JSON
- :选择此选项可将响应格式化为 JSON。
- 文本
- :
- “将输出放入字段”
- 中输入您希望返回文件的字段名称
- 。
分页
使用此选项对结果进行分页,对于处理 API 无法在单次调用中返回的查询结果很有用。
首先检查 API 数据
某些分页选项需要了解您正在使用的 API 返回的数据。在设置分页之前,请查阅 API 文档,或执行一次未启用分页的 API 调用,以查看其返回的数据。
Understand pagination
分页是指将大量数据拆分成多个页面。每页的数据量取决于您设置的限制。
例如,您对名为 的端点进行 API 调用。该 API 想要返回 300 位用户的信息,但这些数据对于 API 来说太多,无法在一次响应中发送。
如果 API 支持分页,您可以逐步获取数据。为此,您需要在调用时指定分页限制以及页码或 URL,以告知 API 需要发送哪个页面。在本例中,假设您使用的限制为 10,并从第 0 页开始。API 会在响应中发送前 10 位用户的数据。然后,您再次调用 API,将页码加 1,以获取接下来的 10 条结果。
配置分页设置:
- 分页模式:
- 关闭
- :关闭分页。
- 每次请求更新一个参数
- :当需要为每个请求动态设置参数时使用此选项。
- 响应包含下一个 URL
- :当 API 响应包含下一页的 URL 时使用此选项。使用表达式设置
- 下一个 URL
- 。
有关示例设置,请参阅
HTTP 请求节点手册 | 分页。n8n 提供了内置变量,用于在使用分页时处理 HTTP 节点请求和响应:
| 多变的 | 描述 |
|---|---|
$pageCount |
分页计数。跟踪节点已获取的页面数。 |
$request |
HTTP 节点发送的请求对象。 |
$response |
HTTP 调用的响应对象。包括、和。和的内容取决于 API 发送的数据。 |
API 差异
不同的 API 实现分页的方式不同。请查看你所使用的 API 的 API 文档以了解更多详情。你需要了解以下内容:
- API 是否提供下一页的 URL?
- API 对页面大小或页数是否有特定限制?
- API 返回的数据的结构。
代理人
如果您需要指定 HTTP 代理,请使用此选项。
输入请求应使用的
代理。暂停
使用此选项设置节点等待服务器发送响应头(并开始响应主体)的时间。节点将中止超过此值的初始响应请求。
输入等待的
超时时间(以毫秒为单位)。仅限工具的选项
以下选项仅当作为
工具附加到AI 代理时才可用。优化响应
是否优化工具响应以减少传递给 LLM 的数据量。优化响应可以降低成本,并帮助 LLM 忽略不重要的细节,通常可以带来更好的结果。
优化响应时,您可以选择预期的响应类型,这决定了您可以配置的其他选项。支持的响应类型包括:
JSON
当需要
JSON响应时,您可以通过以下选项配置要使用 JSON 数据的哪些部分作为响应:- 包含数据的字段:此字段标识 JSON 对象中包含相关数据的特定部分。您可以将其留空以使用整个响应。
- 包含字段:这是您选择响应对象中所需字段的方式。共有三个选项:
- 全部
- :在响应对象中包含所有字段。
- 选定
- :仅包含下面指定的字段。
- 字段
- :要包含在响应中的字段的逗号分隔列表。您可以使用点符号来指定嵌套字段。您可以从输入面板拖动字段以将它们添加到字段列表中。
- 排除
- 下面指定的字段
- 之外的
- 所有字段
- 字段
- :要从响应中排除的字段的逗号分隔列表。您可以使用点符号来指定嵌套字段。您可以从输入面板拖动字段以将它们添加到字段列表中。
HTML
当需要
HTML时,您可以识别与 LLM 相关的 HTML 文档部分,并使用以下选项优化响应:- 选择器 (CSS) :要包含在响应 HTML 中的特定元素或元素类型。默认使用该元素。
- 仅返回内容:是否从响应中剥离 HTML 标签和属性,仅保留实际内容。这样会使用更少的 token,模型也更容易理解。
- 要忽略的元素
- :提取内容时要排除的 CSS 选择器列表(以逗号分隔)。
- 截断响应:是否限制响应大小以节省令牌。
- 最大响应字符数
- :HTML 响应中最多包含的字符数。默认值为 1000。
文本
当期望通用
文本响应时,您可以使用以下选项优化结果:- 截断响应:是否限制响应大小以节省令牌。
- 最大响应字符数
- :HTML 响应中最多包含的字符数。默认值为 1000。
导入 curl 命令
curl是一个使用 URL 传输数据的命令行工具和库。您可以使用 curl 调用 REST API。如果您要使用的服务的 API 文档提供了 curl 示例,您可以将其从文档中复制到 n8n 中以配置 HTTP 请求节点。
导入curl命令:
- 在 HTTP 请求节点的“参数”选项卡中,选择“导入 cURL” 。此时将打开“导入 cURL”命令模式。
- 将您的 curl 命令粘贴到文本框中。
- 选择“导入” 。n8n 会将请求配置加载到节点字段中。这将覆盖所有现有配置。
模板和示例
没有任何
常见问题
对于常见问题或问题以及建议的解决方案,请参阅
常见问题。