httpUpload

Version 24.2.9039


httpUpload

Version 24.2.9039


使用 multipart/form-data 发出 HTTP POST 请求,将文件上传到符合 RFC 1867 的 API 接口。

必需的参数

  • url: POST 的目标 URL。
  • file:*: 要上传的文件的路径。 该属性的格式必须在冒号后包含一个值和一个值参数(请参见下面的示例)。

可选的参数

  • name:*: 用于覆盖由 file 属性设置的表单数据的 name 字段。
  • filename:*: 用于覆盖由 file 属性设置的表单数据的 filename 字段。
  • 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#: 与请求一起传递的每个自定义头的值。
  • form:*: 表单输入变量数据包括在 POST 中。

输出属性

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

示例

<!-- 设置请求的url和上传文件-->
<arc:set attr="http.URL" value="https://postman-echo.com/post" />
<arc:set attr="http.file:myfile" value="[FilePath]" />
<!-- 覆盖请求上的名称和文件名属性 -->
<arc:set attr="http.name:myfile" value="myNewFile" />
<arc:set attr="http.filename:myfile" value="customFilename.txt" />
<!-- 根据请求设置附加表单数据 -->
<arc:set attr="http.form:hello" value="world" />
<arc:set attr="http.form:foo" value="bar" />
<!-- 在请求中添加 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="httpUpload" 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" />