跳至内容

HTTP请求节点#

HTTP请求节点是n8n中最通用的节点之一。它允许您通过REST API向任何应用程序或服务发起HTTP请求以查询数据。您可以将HTTP请求节点作为常规节点使用,或将其附加到AI智能体上作为工具使用。

使用此节点时,您正在创建一个REST API调用。您需要对基本的API术语和概念有一定了解。

有两种方式可以创建HTTP请求:配置节点参数导入curl命令

Credentials

请参考HTTP请求凭据获取设置身份验证的指南。

节点参数#

方法#

选择用于请求的方法:

  • DELETE
  • GET
  • HEAD
  • 选项
  • PATCH
  • POST
  • PUT

URL#

输入您想要使用的端点。

认证#

n8n推荐在可用时使用预定义凭证类型选项。与配置通用凭证相比,它提供了更简单的设置和管理凭证的方式。

预定义凭证#

n8n支持的集成凭证,包括内置节点和社区节点。使用预定义凭证类型可无需额外设置即可进行自定义操作。更多信息请参阅自定义API操作

通用凭证#

n8n不支持的集成所需的凭据。您需要手动配置认证流程,包括指定所需的API端点、必要参数以及认证方法。

您可以选择以下方法之一:

  • 基本认证
  • 自定义认证
  • 摘要认证
  • 头部认证
  • OAuth1 API
  • OAuth2 API
  • 查询认证

有关设置每种凭证类型的更多信息,请参阅HTTP请求凭证

发送查询参数#

查询参数作为HTTP请求的过滤器。如果您交互的API支持查询参数,并且您发出的请求需要过滤条件,请启用此选项。

指定您的查询参数,可使用以下任一选项:

  • 使用下方字段: 输入查询参数名称/对。如需添加更多查询参数名称/值对,请选择添加参数。名称是您要筛选的字段名,值则是筛选条件值。
  • 使用JSON: 输入JSON来定义您的查询参数。

请参考您服务的API文档以获取详细指导。

发送请求头#

使用此参数发送请求头。请求头包含有关请求的元数据或上下文信息。

指定请求头 使用以下任一可用选项:

  • 使用下方字段: 输入名称/对作为头部参数。如需添加更多头部参数名称/值对,请选择添加参数。名称代表您想设置的头部字段,值则是您想为该头部字段传递的值。
  • 使用JSON: 输入JSON来定义您的头部参数。

请参考您服务的API文档以获取详细指导。

发送正文#

如果需要在API请求中发送请求体,请开启此选项。

然后选择正文内容类型,该类型应与您希望发送的正文内容格式最匹配。

表单URL编码#

使用此选项将您的请求体以application/x-www-form-urlencoded格式发送。

指定请求体 使用以下可用选项之一:

  • 使用下方字段: 输入Body Parameters名称/对。如需添加更多参数名称/值对,请选择添加参数。名称应为表单字段名称,值则是您希望为该字段设置的值。
  • 使用单个字段: 在单个Body参数中输入您的名称/值对,格式为fieldname1=value1&fieldname2=value2

请参考您服务的API文档以获取详细指导。

表单数据#

使用此选项将您的正文作为multipart/form-data发送。

通过选择参数类型来配置您的请求体参数

  • 选择表单数据来输入名称/对。
  • Choose n8n Binary File to pull the body from a file the node has access to.
    • 名称: 输入要设置的字段ID。
    • 输入数据字段名称: 输入包含您要处理的二进制文件数据的传入字段名称。

选择添加参数以输入更多参数。

请参考您服务的API文档以获取详细指导。

JSON#

使用此选项将您的请求体以JSON格式发送。

指定请求体,可使用以下任一选项:

  • 使用下方字段: 输入名称/对的请求体参数。如需添加更多请求体参数名称/值对,请选择添加参数
  • 使用JSON: 输入JSON来定义请求体。

请参考您服务的API文档以获取详细指导。

n8n 二进制文件#

使用此选项可将存储在n8n中的文件内容作为正文发送。

输入数据字段名称中输入包含文件的传入字段名称。

请参考您服务的API文档,了解如何格式化文件的详细指南。

原始#

使用此选项在请求体中发送原始数据。

  • 内容类型: 输入用于原始正文内容的Content-Type头部。完整MIME内容类型列表请参考IANA 媒体类型文档。
  • Body: 输入要发送的原始正文内容。

请参考您服务的API文档以获取详细指导。

节点选项#

选择添加选项以查看并选择这些选项。除非另有说明,否则所有参数均可使用这些选项。

查询参数中的数组格式#

选项可用性

此选项仅在开启发送查询参数时可用。

使用此选项控制查询参数中包含的数组格式。可从以下选项中选择:

  • 无括号: 数组将格式化为数组中每个项目的名称=值,例如: foo=bar&foo=qux.
  • 仅方括号: 节点在每个数组名称后添加方括号,例如:foo[]=bar&foo[]=qux
  • 带索引的方括号: 节点会在每个数组名称后添加带索引值的方括号,例如:foo[0]=bar&foo[1]=qux

请参考您服务的API文档以获取关于使用哪个选项的指导。

批处理#

控制如何批量处理大量输入项:

  • 每批次项目数: 输入每个批次中包含的输入项目数量。
  • 批处理间隔: 输入每批请求之间的等待时间(毫秒)。输入0表示无批处理间隔。

忽略SSL问题#

默认情况下,n8n仅在SSL证书验证成功时下载响应。如果您希望在SSL证书验证失败时也下载响应,请启用此选项。

小写标题#

选择是否将标头名称转换为小写(开启,默认)或不转换(关闭)。

重定向#

选择是否跟随重定向(默认开启)或关闭。如果开启,请在最大重定向次数中输入请求应跟随的最大重定向次数。

响应#

使用此选项设置有关预期API响应的一些详细信息,包括:

  • 包含响应头和状态码: 默认情况下,该节点仅返回响应体。启用此选项可同时返回完整响应(包括响应头和状态码)以及响应体。
  • 永不报错: 默认情况下,节点仅在响应返回2xx状态码时才会返回成功。开启此选项后,无论返回什么状态码都会返回成功。
  • Response Format: Select the format in which the data gets returned. Choose from:
    • 自动检测 (默认): 节点会根据返回的数据自动检测并格式化响应。
    • 文件: 选择此选项可将响应存入文件。在输出存入字段中输入您希望返回文件的字段名称。
    • JSON: 选择此选项以JSON格式返回响应。
    • 文本: 选择此选项以纯文本格式返回响应。在输出字段中输入您希望文件返回的字段名称。

分页#

使用此选项对结果进行分页,适用于处理因数据量过大而无法通过API单次调用返回的查询结果。

首先检查API数据

分页的一些选项需要了解您所使用的API返回的数据。在设置分页之前,请先查阅API文档,或者执行一个不带分页的API调用,以查看其返回的数据。

Understand pagination

分页是指将大量数据分割成多个页面。每个页面的数据量取决于您设置的limit。

例如,您对一个名为/users的端点进行API调用。该API希望返回300个用户的信息,但对于API来说,一次性发送这么多数据量过大。

如果API支持分页功能,您可以逐步获取数据。为此,您需要调用/users接口并传入分页限制参数,同时通过页码或URL告知API需要返回哪一页数据。在本示例中,假设您使用限制值为10并从第0页开始,API将在响应中返回前10个用户数据。然后您再次调用API,将页码增加1,即可获取接下来的10条结果。

配置分页设置:

  • Pagination Mode:
    • 关闭: 关闭分页功能。
    • 在每个请求中更新参数: 当您需要为每个请求动态设置参数时使用此功能。
    • 响应包含下一页URL: 当API响应中包含下一页的URL时使用此选项。使用表达式设置下一页URL

有关示例设置,请参阅 HTTP Request node cookbook | Pagination

n8n提供了内置变量,用于在使用分页时处理HTTP节点请求和响应:

变量 描述
$pageCount The pagination count. Tracks how many pages the node has fetched.
$request The request object sent by the HTTP node.
$response The response object from the HTTP call. Includes $response.body, $response.headers, and $response.statusCode. The contents of body and headers depend on the data sent by the API.

API差异

不同的API以不同的方式实现分页功能。请查阅您所使用的API文档以获取详细信息。您需要了解的内容包括:

  • API是否提供了下一页的URL?
  • API是否有特定的页面大小或页码限制?
  • API返回的数据结构。

代理#

如果需要指定HTTP代理,请使用此选项。

输入请求应使用的代理

超时#

使用此选项设置节点应等待服务器发送响应头(并开始响应体)的时间。节点将中止初始响应超过此值的请求。

输入超时等待时间(毫秒)。

仅工具选项#

以下选项仅在作为工具附加到AI智能体时可用。

优化响应#

是否优化工具响应以减少传递给LLM的数据量。优化响应可以降低成本,并帮助LLM忽略不重要的细节,通常能带来更好的结果。

优化响应时,您需要选择预期的响应类型,这将决定您可以配置的其他选项。支持的响应类型包括:

JSON#

当期望获得JSON响应时,您可以通过以下选项配置要使用JSON数据的哪些部分作为响应:

  • 包含数据的字段: 此字段用于标识JSON对象中包含相关数据的特定部分。如果留空,则将使用整个响应。
  • Include Fields: This is how you choose which fields you want in your response object. There are three choices:
    • 全部: 在响应对象中包含所有字段。
    • Selected: Include only the fields specified below.
      • 字段: 响应中包含的字段列表,以逗号分隔。您可以使用点表示法指定嵌套字段。您可以从输入面板拖动字段将其添加到字段列表中。
    • Exclude: Include all fields except the fields specified below.
      • 字段: 要从响应中排除的字段的逗号分隔列表。您可以使用点符号指定嵌套字段。您可以从输入面板拖动字段将其添加到字段列表中。

HTML#

When expecting HTML, you can identify the part of an HTML document relevant to the LLM and optimize the response with the following options:

  • Selector (CSS): A specific element or element type to include in the response HTML. Uses the body element by default.
  • Return Only Content: Whether to strip HTML tags and attributes from the response, leaving only the actual content. This uses fewer tokens and may be easier for the model to understand.
    • 要忽略的元素: 提取内容时需要排除的CSS选择器列表,以逗号分隔。
  • Truncate Response: Whether to limit the response size to save tokens.
    • Max Response Characters: The maximum number of characters to include in the HTML response. The default value is 1000.

文本#

当预期获得通用的文本响应时,您可以通过以下选项优化结果:

  • Truncate Response: Whether to limit the response size to save tokens.
    • Max Response Characters: The maximum number of characters to include in the HTML response. The default value is 1000.

导入curl命令#

curl 是一个用于通过URL传输数据的命令行工具和库。

你可以使用curl来调用REST API。如果目标服务的API文档提供了curl示例,你可以直接从文档中复制这些示例到n8n中配置HTTP请求节点。

导入curl命令:

  1. 在HTTP请求节点的参数选项卡中,选择导入cURL。此时会打开导入cURL命令模态窗口。
  2. 将您的curl命令粘贴到文本框中。
  3. 选择导入。n8n会将请求配置加载到节点字段中,这将覆盖任何现有配置。

模板和示例#

Scrape and summarize webpages with AI

由n8n团队

查看模板详情
Building Your First WhatsApp Chatbot

作者:Jimleuk

查看模板详情
AI agent that can scrape webpages

作者:Eduard

查看模板详情
浏览HTTP请求集成模板, or 搜索所有模板

常见问题#

有关常见问题或疑问及建议解决方案,请参阅常见问题

优云智算