HTTP 请求节点是 n8n 的核心组件,允许工作流向外部 API 和服务发送 HTTP 请求。该节点支持各种 HTTP 方法、身份验证类型和响应格式,使其能够与几乎任何 Web 服务集成。
本文档涵盖了 HTTP 请求节点的架构、功能和实现细节。它解释了节点如何处理不同的请求方法、身份验证机制和响应处理。有关特定 API 集成的更多信息,请参阅这些服务的相关节点文档。
HTTP 请求节点实现为带版本控制的节点类型,具有多个版本(1、2、3、4、4.1 和 4.2),它们共享核心功能但提供不同的功能和接口。该节点允许用户
来源
HTTP 请求节点实现为一个版本化的节点类型,主类 HttpRequest 扩展了 VersionedNodeType。这允许在添加新功能的同时保持向后兼容性。
来源
HTTP 请求节点的核心功能实现在每个版本类的 execute 方法中。最新版本(V3)功能最丰富,用于节点的 3、4、4.1 和 4.2 版本。
用户可以配置 HTTP 请求的以下方面
来源
该节点支持多种身份验证方法
身份验证逻辑实现在 execute 方法中,在此方法中检索相应的凭据并将其应用于请求选项。
来源
该节点使用 n8n 的辅助函数执行 HTTP 请求
request:用于基本请求,无需身份验证requestOAuth1:用于 OAuth1 身份验证请求requestOAuth2:用于 OAuth2 身份验证请求requestWithAuthentication:用于使用预定义凭据类型的请求requestWithAuthenticationPaginated:用于分页请求请求执行在 execute 方法中处理,该方法处理每个输入项并发出相应的 HTTP 请求。
来源
该节点可以处理不同格式的响应
响应格式可以
此外,该节点还可以返回
来源
HTTP 请求节点支持分页,以处理返回分块数据的 API。分页选项包括
来源
该节点可以
来源
对于 AI 工具的使用,该节点包含了可以
来源
该节点构建一个请求选项对象,其中包含
此配置在 execute 方法中完成,其中参数从节点 UI 检索并处理以创建请求选项。
来源
该节点通过修改请求选项对象来实现各种身份验证方法
auth 属性,包含用户名和密码Authorization 标头和 Bearer 令牌auth 属性,包含用户名、密码和 sendImmediately: falserequestOAuth1 辅助函数requestOAuth2 辅助函数来源
该节点根据配置的响应格式处理响应
对于自动检测格式,节点会检查 Content-Type 标头以确定适当的格式。
来源
从 API 检索数据的简单 GET 请求
Method: GET
URL: https://api.example.com/data
向 API 发送 JSON 数据
Method: POST
URL: https://api.example.com/create
Body Content Type: JSON
Body:
{
"name": "Example",
"value": 123
}
进行带身份验证的请求
Method: GET
URL: https://api.example.com/protected
Authentication: Basic Auth
Username: user
Password: pass
下载文件并将其保存为二进制数据
Method: GET
URL: https://example.com/file.pdf
Response Format: File
Output Field: data
从分页 API 检索所有数据页
Method: GET
URL: https://api.example.com/items
Pagination: Update a Parameter in Each Request
Parameter: page (query)
Value: ==$parameter.page + 1
Pagination Complete When: Response is Empty
虽然 HTTP 请求节点是用于发出任何 HTTP 请求的通用节点,但 n8n 还提供了一个专门的 GraphQL 节点用于发出 GraphQL 查询。GraphQL 节点基于相似的原理构建,但针对 GraphQL 特定功能进行了优化
来源
HTTP 请求节点是 n8n 的一个多功能且强大的组件,它使工作流能够与外部 API 和服务进行交互。它支持各种 HTTP 方法、身份验证机制和响应格式,使其适用于广泛的集成场景。该节点的版本化实现确保了向后兼容性,同时也允许在较新版本中添加新功能。