UiPath Documentation
activities
latest
false
开发者活动
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

HTTP 请求

“HTTP 请求”活动,用于向网页 API 发出 HTTP 请求。

UiPath.Web.Activities.Http.NetHttpClient

重要提示:

此活动在从 2.3.0 版开始的 WebAPI 包中可用。对于旧版体验,请使用 2.3.0 之前的 WebAPI 版本中包含的先前“HTTP 请求(旧版)”活动。

提示:

从 WebAPI 2.5.1 开始,AI 辅助诊断可帮助您构建 HTTP 请求调用并对其进行故障排除。本指南将UiPath AutopilotUiPath CLI 与编码智能体集成。

描述

使用 WebAPI 2.3.0 及更高版本中的“HTTP 请求”活动,并简化向网页服务器或 API 发出的请求。“HTTP 请求”活动可帮助您:

  • 在系统之间安全地发送和接收数据。
  • 使用表单上传文件和数据。
  • 在出现问题时,通过重试请求正常处理错误。
  • 使用 SSL 安全连接以保护数据。
  • 自动管理 Cookie 和代理,以处理会话和网络限制。

项目兼容性

Windows | 跨平台

Windows、跨平台配置

活动主体属性
请求方法* 选择 HTTP 请求应如何与服务器交互:
  • “GET” - 检索数据而不修改数据。
  • POST - 向服务器发送数据,通常用于创建或更新资源。
  • PUT - 更新现有资源。
  • “删除” - 从服务器中删除指定资源。
  • “标头” - 与“获取”类似,但仅检索标头,不检索正文内容。
  • 选项- 提供有关服务器上可用通信选项的信息。
  • “PATCH” - 部分更新现有资源。
  • TRACE - 用于诊断目的,将收到的请求回显给客户端。
请求 URL * 提供要发送请求的服务器网址。例如https://store.example.com/search
参数 将特定于服务器的详细信息作为键值对添加到您的请求中。例如, query: "laptop"sortBy: "price"
标头 以键值对形式添加服务器特定的说明或身份验证详细信息。例如, Authorization: "Bearer <your_access_token>"Accept: "application/json"
请求正文类型*

选择要发送到服务器的内容类型:

  • “无” - 不发送数据,通常用于检索方法。
  • “文本” - 以纯文本形式发送数据,通常用于 POST 和 PUT 方法。选择后,系统将显示以下字段:
    • “文本内容类型” - 选择要在 HTTP 请求中发送的文本格式,以便服务器知道如何解释它:
      • 文本/纯文本- 常规纯文本。
      • text/html - HTML 格式的文本。
      • text/css - CSS 格式的文本。
      • text/csv - 格式化为 CSV 的结构化数据。
      • text/xml - XML 格式的文本,供人类阅读。
      • application/xml - XML 格式的文本,供应用程序处理。
      • application/json - JSON 格式的文本。
    • 文本- 写入要在请求中发送的实际文本或数据。
    • 文本编码- 选择文本有效负载的编码格式,例如 Unicode、ASCII 或 ISO。这可确保接收服务器准确读取您的文本有效负载。
  • 表单 URL 编码- 发送格式化为简单键值对的数据。选择后,系统将显示以下字段:
    • URL 编码的表单数据- 提供键值对。例如, searchQuery: "Smartphone"brand: "XYZ"inStock: "true"
  • 多部分表单数据- 发送文件或复杂数据。当您需要将不同的数据类型组合到请求中时,请使用它。选择后,系统将显示以下字段:
    • 资源文件- 提供以 IResource 对象形式存储在项目中的文件的名称。
    • “本地文件” - 提供位于设备上的文件的路径。例如"C:/Images/product-photo.jpg"
    • “表单数据部分” - 提供“表单数据部分”对象的集合:

      • “文本表单数据部分” -适用于字符串有效负载,例如 JSON 或纯文本。
      • “二进制表单数据部分” - 对于原始字节数组。
      • 文件表单数据部分 -适用于基于给定路径的文件流。
      例如,使用“表达式编辑器”的表单数据部分集合:
      #VB
      New List(Of FormDataPart) From {
          New TextFormDataPart("{""jsonKey"":""jsonValue""}", "textPart", Encoding.UTF8, "application/json"),
          New BinaryFormDataPart(Encoding.UTF8.GetBytes("binaryContent"), "binaryPart", "application/octet-stream"),
          New FileFormDataPart("C:/Work/testfile.txt", "filePart", "text/plain")
      }
      #VB
      New List(Of FormDataPart) From {
          New TextFormDataPart("{""jsonKey"":""jsonValue""}", "textPart", Encoding.UTF8, "application/json"),
          New BinaryFormDataPart(Encoding.UTF8.GetBytes("binaryContent"), "binaryPart", "application/octet-stream"),
          New FileFormDataPart("C:/Work/testfile.txt", "filePart", "text/plain")
      }
      

      每个“表单数据部件”类型都附带多个构造函数,使您可以从常用的默认值中受益。

      该活动会自动为每个文件表单数据部分分配正确的“内容类型”标头。您可以手动覆盖此标头。对于文件列表,您无法覆盖自动分配的标头。对于资源文件列表,活动使用可用的 MIME 类型。

    • URL 编码的表单数据- 提供简单的键值对。
  • 二进制- 发送原始数据。选择后,系统将显示以下字段:
    • 二进制有效负载- 提供原始数据有效负载,例如图像、视频、大文件或流数据。例如: File.ReadAllBytes("C:/Images/product-image.jpg")
  • - 当数据无法一次完全加载到内存中时,发送连续数据,例如上传大文件(音频或视频)。选择后,系统将显示以下字段:
    • “本地文件” - 提供大文件路径。该活动自动为上传的文件分配正确的“Content-Type”标头。您可以手动覆盖此标头。例如: File.OpenRead("C:/Videos/large-video.mp4")
属性面板

cURL 导入和设计时测试

本节帮助您通过 cURL 代码片段配置活动,并对请求执行设计时测试。

  • cURL 命令文本- 可以在其中粘贴完整的 cURL 命令的多行设计时文本字段。支持“cmd”和“bash”样式。
  • cURL 导入按钮 -此操作按钮会立即触发将当前cURL 命令文本解析/导入到活动(方法、URL、标头、正文、身份验证、文件)。
  • 测试请求按钮 -用于在设计时执行已配置请求的操作按钮。在运行时,它会切换到“取消”。完成或取消后,它将还原为“测试”,并使用格式化的响应或错误更新“报告”字段。
  • “报告” -多行文本区域,用于显示上次 cURL 导入或设计时测试执行(成功摘要、映射详细信息、警告或错误)的结果。

客户端选项

本节帮助您定义与连接相关的设置。

  • 禁用 SSL 验证- 跳过 SSL 安全检查。用于测试 ( True ),但不建议用于生产( False,默认值)。
  • TLS 协议- 选择用于安全连接的 TLS 协议。可用选项包括“自动” (默认)、 “TLS 1.2”“TLS 1.3”
  • “启用 cookie” - 默认情况下,启用自动 Cookie 处理( “True” )。设置为False可禁用自动 Cookie 处理。
  • 客户端证书- 指示客户端证书的路径,以便使用安全 API 进行身份验证。例如"C:/certificates/client-cert.pfx"
  • 客户端证书安全密码- 存储所提供客户端证书的安全密码。例如, "certPassword"

    通过选择加号图标并选择所需的选项( “使用纯字符串”“使用安全字符串”) ,在纯密码和安全密码之间切换。

  • 代理配置- 配置自定义代理,包括对身份验证和绕过列表的支持。例如"http://proxy.example.com:8080"

身份验证

本节帮助您定义活动如何通过服务器对自身进行身份验证。

身份验证- 选择身份验证方法。可用选项包括:
  • 不进行身份验证- 服务器不需要用户验证即可接受您的请求。
  • 基本身份验证- 通过用户名安全密码向接收服务器提供用户验证。

    通过选择加号图标并选择所需的选项( “使用纯字符串”“使用安全字符串”) ,在纯密码和安全密码之间切换。

  • 持有者令牌- 通过登录后生成的唯一持有者令牌向接收服务器提供用户验证。
  • 协商身份验证- 为运行时使用 HTTP 协商方案,以根据服务器质询选择 Kerberos 或 NTLM(也可能选择摘要式)。当“身份验证”设置为“协商身份验证”并且“使用操作系统凭据” = True 时,将使用当前操作系统用户上下文(Windows 登录令牌;在 Linux/macOS 上,为现有的 Kerberos 票证,例如来自 kinit)。将“使用操作系统凭据” 设置为 False,以启用“自定义凭据” 字段;需提供网络凭据(域/用户名/密码或安全密码)。

请求选项

本部分帮助您定义请求的行为。

  • “其他 Cookie” - 手动将额外 Cookie 指定为键值对。
  • “请求超时” - 指定请求中止之前的最长等待时间(以毫秒为单位)。默认值为 10,000 毫秒(10 秒)。
  • “出错时继续” - 决定在活动引发错误时是否应继续自动化( True ,默认选项)。要在发生错误时停止自动化,请使用False
  • 遵循重定向- 决定请求是否应自动遵循服务器提供的 URL 重定向( True ,默认选项)。要忽略重定向并使用初始响应,请使用False
  • 最大重定向次数- 指定请求在停止之前应遵循的自动重定向次数。默认值为 3。

重试策略

本部分帮助您定义请求失败时的重试机制。

重试策略类型- 指定重试请求的方法。可用选项包括:
  • “无重试” - 您的请求仅调用服务器一次。如果失败,则不会进行进一步的尝试。
  • 基本重试- 失败后按固定延迟时间重试请求。
    • 重试计数- 指定重试次数。默认值为 3。
    • 延迟- 指定重试之间的固定时间间隔(以毫秒为单位)。默认值为 500 毫秒(0.5 秒)。
    • “使用 Retry-After 标头” - 决定请求是否应使用服务器推荐的Retry-After标头( True ,默认选项)。要忽略Retry-After标头值,请使用False
    • “延迟限制” - 指定在重试之间允许的最大延迟时间(以毫秒为单位)。默认值为 30,000 毫秒(30 秒)。
    • 重试状态代码- 指定应触发重试的状态代码。
  • 指数退避- 在每次尝试之间增加延迟的重试次数。
    • 重试计数- 指定重试次数。默认值为 3。
    • “初始延迟” - 指定第一次重试之前的延迟时间(以毫秒为单位)。默认值为 500 毫秒(0.5 秒)。
    • 倍数- 指定用于在每个请求失败后增加延迟时间的数字。默认值为 2,每次都会使延迟加倍。
    • “使用抖动” - 对于延迟,决定是否要添加 0 到 100 毫秒之间的随机偏移量,以避免同步重试( “True” ,默认值)。
    • “使用 Retry-After 标头” - 决定请求是否应使用服务器推荐的Retry-After标头( True ,默认选项)。要忽略Retry-After标头值,请使用False
    • “延迟限制” - 指定在重试之间允许的最大延迟时间(以毫秒为单位)。默认值为 30,000 毫秒(30 秒)。
    • 重试状态代码- 指定应触发重试的状态代码。

响应选项

本部分帮助您自定义服务器返回响应的方式。

  • “始终将响应另存为文件”- 即使未推断出附件文件名,也强制将响应正文写入磁盘。
  • 启用调试信息- 启用扩展调试捕获(原始请求/响应元数据、标头快照、计时、重试详细信息)并将其输出到响应对象或在设计时测试期间使用。
  • Output file name - Override the server-provided file name (e.g. from Content-Disposition). This field accepts a file name only; any folder part of a path is ignored. Specify the folder in Output file target folder.
  • Output file target folder - The folder where the response file is saved. If left empty, or if the folder does not exist, the file is saved to the robot's working directory, which is often not writable in production. Provide an existing folder path.
  • 如果文件已存在 - 定义当目标文件夹中已存在具有解析名称的文件时的冲突策略。选项:
    • 自动重命名 - 附加递增后缀(_1、_2)以生成唯一的文件名。
    • “替换” - 覆盖现有文件。
    • 停止并放弃 -
    • 中止保存操作(如果不处理异常,则中止工作流),现有文件不会受到影响。
备注:

该活动一次仅支持一种输出模式:将响应保存为文件或以文本形式返回响应数据。不支持同时配置两个输出。

输出

本节帮助您捕获和存储服务器返回的响应。

响应内容- 捕获来自服务器的响应,并将其存储到变量中,以供将来处理。其中包括:
  • “状态码” - HTTP 响应状态代码。
  • 文本内容- 作为纯文本的响应(如果可用)。
  • 二进制内容- 非文本内容的原始响应数据。
  • 文件- 在“下载”文件夹中作为文件 ( ILocalResource ) 保存的响应。文件名来自响应标头或自动生成,以避免覆盖文件。
  • 标头- 所有 HTTP 响应标头。
  • 内容标头- 与响应内容明确相关的标头。例如, Content-TypeContent-Length
  • 原始请求调试信息 -包含捕获的低级别请求/响应详细信息的可选字符串(例如构造的请求行、标头、重试、计时)仅在启用调试时填充;否则为空字符串。
  • 描述
  • 项目兼容性
  • Windows、跨平台配置

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新