httpGet

Version 24.3.9111


httpGet


对基于 Web 的特定 API 资源发出 HTTP GET 请求。

必需的参数

  • url: 要检索的 URL。

可选的参数

  • timeout: 操作完成的超时时间(以秒为单位)。零(0)表示没有超时。默认值为 “60”。
  • proxy_server: 用于请求的代理服务器的 IP 地址或主机名。
  • proxy_auto: 是否应从 Windows 系统设置中检测代理。这优先于其它代理设置,在 Java 中不可用。允许的值为 “TRUE,FALSE”。默认值为 “FALSE”。
  • proxy_port: 代理服务器的端口号。
  • proxy_user: 向代理服务器进行身份验证的用户 ID。
  • proxy_password: 与代理服务器进行身份验证的密码。
  • proxy_authscheme: 代理服务器的认证方案。允许的值为 “BASIC,DIGEST,PROPRIETARY,NONE,NTLM”。默认值为 “BASIC”。
  • proxy_authtoken: 代理身份验证令牌。
  • proxy_ssltype: 代理服务器的 TLS/SSL 类型。允许的值为 “AUTO,ALWAYS,NEVER,TUNNEL”。默认值为 “AUTO”。
  • firewall_server: 防火墙的 IP 地址或主机名。
  • firewall_port: 防火墙的端口号。
  • firewall_user: 向防火墙进行身份验证的用户 ID。
  • firewall_password: 向防火墙进行身份验证的密码。
  • firewall_type: 防火墙的类型。允许的值为 “NONE,TUNNEL,SOCKS4,SOCKS5”。默认值为 “NONE”。
  • internalconfig#: 设置一个内部配置设置。
  • charset: 交换/传输的数据的字符集。默认值为 “UTF-8”。
  • httpversion: HTTP 协议版本。允许的值为 “1.0、1.1”。默认值为 “1.1”。
  • cookie:*: 添加到请求中的 cookie。
  • followredirects: 是否遵循 HTTP 重定向。允许的值为 “TRUE,FALSE”。默认值是 “TRUE”。
  • sslcert: 要从服务器接受的 TLS/SSL 证书。这可以采用完整 PEM 证书,包含证书的文件路径,公钥,MD5 指纹或 SHA-1 指纹的形式。 指定证书以外的任何证书都将被拒绝。 如果未指定,此值默认为“TRUSTED”,这意味着仅接受系统信任的证书。 如果设置为 “*”,则无论系统是否信任任何证书都将被接受。
  • sslclientcert: 客户端证书的名称。
  • sslclientcerttype: 客户端证书的存储类型。允许的值是 “USER,MACHINE,PFXFILE,PFXBLOB,JKSFILE,JKSBLOB,PEMKEY_FILE,PEMKEY_BLOB,PUBLIC_KEY_FILE,PUBLIC_KEY_BLOB,SSHPUBLIC_KEY_BLOB,P7BFILE,P7BBLOB,SSHPUBLIC_KEY_FILE,PPKFILE,PPKBLOB,XMLFILE,XMLBLOB”。
  • sslclientcertpassword: 客户端证书的密码。
  • sslclientcertsubject: 客户端证书的主题。使用星号会找到存储中的第一个证书。
  • user: 如果 authscheme 参数设置为 None 以外的其它值,则使用该用户名进行身份验证。
  • password: 如果 authscheme 参数设置为 None 以外的其它值,则使用该密码进行身份验证。
  • authscheme: 要使用的授权机制。仅当提供用户和密码时相关。有效值包括 BASIC、DIGEST 和 NTLM。默认为 BASIC。允许的值是 “BASIC,DIGEST,NTLM”。默认值为 “BASIC”。
  • version: OAuth 版本。使用 OAuth 来授权请求。默认为 Disabled。允许的值是“Disabled,1.0,2.0”。默认值为“Disabled”。
  • token: OAuth 的请求令牌。
  • token_secret: 请求令牌密钥。仅限 OAuth 1.0。
  • sign_method: 用于计算 OAuth 1.0 签名的签名方法。允许的值是 “HMAC-SHA1,PLAINTEXT”。默认值为 “HMAC-SHA1”。
  • client_ID: 客户端 ID。仅限 OAuth 1.0。
  • client_secret: 客户密钥。仅限 OAuth 1.0。
  • header:name#: 与请求一起传递的每个自定义头的名称。
  • header:value#: 与请求一起传递的每个自定义头的值。
  • ifmodifiedsince: 如果将 if-modified-since 日期和时间用作检索结果的筛选器(例如:Sat,25 Feb 2006 04:11:47 GMT)。
  • localfile: 如果指定,则 GET 的结果将写入此文件。
  • logfile: 用来记录请求和相应日志的全路径。需要配合 verbosity 使用。
  • verbosity: 日志的级别,从1(最少)到5(最高)。

输出属性

  • ssl:issuer: TLS/SSL 证书的颁发者。
  • ssl:subject: TLS/SSL 证书的主题。
  • http:statuscode: 从请求返回的 HTTP 状态代码。
  • http:content: HTTP 响应的内容。
  • cookie:*: Cookie 随响应返回。
  • http:allcookies: 响应中的所有 cookie,以单个字符串形式返回。
  • header:*: 响应返回的头文件。

示例

<arc:set attr="http.URL" value="https://postman-echo.com/basic-auth" />
<!-- 在 GET 请求中添加 HTTP 消息头 -->
<arc:set attr="http.header:name#1" value="mySpecialHeader" />
<arc:set attr="http.header:value#1"value="Foo" />
<!-- 通过基本身份验证设置凭据 -->
<arc:set attr="http.user" value="postman" />
<arc:set attr="http.password" value="password" />
<!-- 可选的日志记录参数。 在对请求进行故障排除时很有用 -->
<arc:set attr="http.logfile" value="/tmp/httpLog.txt" />
<arc:set attr="http.verbosity" value="3" />

<!-- 将http输入项传入调用,并将输出文件的数据设置为HTTP响应-->
<arc:call op="httpGet" in="http" out="response">
  <arc:set attr="output.data" value="[response.http:content]" />
</arc:call>

<!-- 设置输出文件名并推送文件 -->
<arc:set attr="output.filename" value="httpResponseContent.txt" />
<arc:push item="output" />