httpUpload
Version 23.4.8839
httpUpload
Version 23.4.8839
Issue an HTTP POST request using multipart/form-data to upload files to an API endpoint compliant with RFC 1867.
Required Parameters
- url: The URL to which the POST request is issued.
- file:*: The path to a file to upload. The format of this attribute must include a value after the colon and a value parameter (see the example below).
Optional Parameters
- name:*: Used to override the
name
field of the form data set by thefile
attribute. - filename:*: Used to override the
filename
field of the form data set by thefile
attribute. - timeout: The timeout, in seconds, for the operation to complete. Zero (0) means no timeout. The default is
60
. - proxy_server: The IP address or host name of the proxy server used for the request.
- proxy_auto: Whether or not the proxy should be detected from Windows system settings. This takes precedence over other proxy settings and is not available in Java. Allowed values are
TRUE
orFALSE
. The default isFALSE
. - proxy_port: The port number of the proxy server.
- proxy_user: The user Id used to authenticate with the proxy server.
- proxy_password: The password used to authenticate with the proxy server.
- proxy_authscheme: The authentication scheme of the proxy server. Allowed values are
BASIC
,DIGEST
,PROPRIETARY
,NONE
, andNTLM
. The default isBASIC
. - proxy_authtoken: The proxy authentication token.
- proxy_ssltype: The SSL/TLS type of the proxy server. Allowed values are
AUTO
,ALWAYS
,NEVER
, andTUNNEL
. The default isAUTO
. - firewall_server: The firewall IP address or host name.
- firewall_port: The firewall port number.
- firewall_user: The user Id used to authenticate with the firewall.
- firewall_password: The password used to authenticate with the firewall.
- firewall_type: The firewall type. Allowed values are
NONE
,TUNNEL
,SOCKS4
, andSOCKS5
. The default isNONE
. - internalconfig#: Sets an internal configuration setting.
- charset: The charset of the exchanged/transferred data. The default is
UTF-8
. - httpversion: Version of the HTTP protocol to use. Allowed values are
1.0
or1.1
. The default is1.1
. - cookie:*: Any cookies to add to the request.
- followredirects: Whether or not to follow HTTP redirects. Allowed values are
TRUE
orFALSE
. The default isTRUE
. - sslcert: The SSL/TLS certificate to be accepted from the server. This can take the form of a full PEM certificate, the path to a file containing the certificate, the public key, the MD5 thumbprint, or the SHA-1 thumbprint. Any certificate other than the one specified is rejected. If unspecified, this value defaults to
TRUSTED
, which means only certificates trusted by the system are accepted. If set to*
, any certificate is accepted. - sslclientcert: The name of the certificate store for the client certificate.
- sslclientcerttype: The store type of the client certificate. Allowed values are
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
, andXMLBLOB
. - sslclientcertpassword: The password of the client certificate.
- sslclientcertsubject: The subject of the client certificate. Using an asterisk finds the first certificate in the store.
- user: The username to authenticate with if the authscheme parameter is set to something other than
NONE
. - password: The password to authenticate with if the authscheme parameter is set to something other than
NONE
. - authscheme: The authorization mechanism to use. Only relevant if user and password are provided. Allowed values are
BASIC
,DIGEST
,NONE
, andNTLM
. The default isBASIC
. - version: The OAuth version. Use OAuth to authorize the request. Allowed values are
Disabled
,1.0
, and2.0
. The default isDisabled
. - token: The request token for OAuth.
- token_secret: The request token secret. Applicable for OAuth 1.0 only.
- sign_method: The signature method used to calculate the signature for OAuth 1.0. Allowed values are
HMAC-SHA1
andPLAINTEXT
. The default isHMAC-SHA1
. - client_id: The client Id. Applicable for OAuth 1.0 only.
- client_secret: The client secret. Applicable for OAuth 1.0 only.
- header:name#: The name for each custom header to pass with the request.
- header:value#: The value for each custom header to pass with the request.
- form:*: Form input variable data to include in the POST.
Output Attributes
- ssl:issuer: The issuer of the SSL/TLS certificate.
- ssl:subject: The subject of the SSL/TLS certificate.
- http:statuscode: The HTTP status code returned from the request.
- http:content: The content of the HTTP response.
- cookie:*: The cookies returned with the response.
- http:allcookies: All of the cookies from the response, returned as a single string.
- header:*: The headers returned with the response.
Example
<!-- Setting the url and upload file for the request -->
<arc:set attr="http.URL" value="https://postman-echo.com/post" />
<arc:set attr="http.file:myfile" value="[FilePath]" />
<!-- Overriding the name and filename attribute on the request -->
<arc:set attr="http.name:myfile" value="myNewFile" />
<arc:set attr="http.filename:myfile" value="customFilename.txt" />
<!-- Setting additional form data on the request -->
<arc:set attr="http.form:hello" value="world" />
<arc:set attr="http.form:foo" value="bar" />
<!-- Adding an HTTP header to the request -->
<arc:set attr="http.header:name#1" value="mySpecialHeader" />
<arc:set attr="http.header:value#1"value="Foo" />
<!-- Setting the credentials via basic authentication -->
<arc:set attr="http.user" value="postman" />
<arc:set attr="http.password" value="password" />
<!-- Optional logging parameter. Useful when troubleshooting a request -->
<arc:set attr="http.logfile" value="/tmp/httpLog.txt" />
<arc:set attr="http.verbosity" value="3" />
<!-- Passing in the http input item to the call and setting the data of the output file to be the HTTP response -->
<arc:call op="httpUpload" in="http" out="response">
<arc:set attr="output.data" value="[response.http:content]" />
</arc:call>
<!-- Setting the output filename and pushing the file out -->
<arc:set attr="output.filename" value="httpResponseContent.txt" />
<arc:push item="output" />