HTTP - Post

Declaration

<AMHTTP ACTIVITY="post" SESSION="text" URL="text" TYPE="text (options)" FILEFIELD="text" DATA="text" QUERYSTRING="YES/NO" AUTHENTICATION="text (options)" USERNAME="text" PASSWORD="text (encrypted)" CERTIFICATE="text" CERTIFICATEPASSPHRASE="text" IGNOREINVALIDCERTIFICATE="YES/NO" VERSION="text (options)" SSLVERSION="text (options)" CONTENTTYPE="text" USERAGENT="text" TIMEOUT="number" MEASURE="text (options)" COOKIE="text (options)" COOKIEFILE="text" OVERWRITECOOKIEFILE="YES/NO" ENCODEURL="YES/NO" RESULTVARIABLE="text" RESULTDATASET="text" PROXYTYPE="text (options)" PROXYSERVER="text" PROXYPORT="number" PROXYUSERNAME="text" PROXYPASSWORD="text (encrypted)"><HEADER NAME="text" VALUE="text" /><COOKIE NAME="text" VALUE="text" /></AMHTTP>

Related Topics   

Description

Uploads data or a file to the specified server.

IMPORTANT: HTTP POST may not be supported on public servers due to security concerns.

Practical usage

Used to upload data or a file to the selected server. The difference between a PUT and POST request is reflected in the different meaning of the request URL.

Parameters

General

Property Type Required Default Markup Description
Predefined connection Text (options) Yes None SESSION="HttpSession1" Specifies the predefined connection to use with this request. Predefined connections are created using the HTTP - Define activity. If set to None, the connection settings are stored in the Credentials section of this activity.
URL Text Yes (Empty) URL="https://www.google.com" Specifies the URL of the server to use to upload data or a file.
Post type Text (options) No Text
  • TYPE="text"
  • TYPE="file"
  • TYPE="field"
  • TYPE="none"
Specifies the type data to post. The available options are:
  • Text - Posts a text string. Enter the desired text string to post in the Text parameter.
  • File - Posts a specific file. Enter the path and file name of the desired file in the File path parameter, or click the folder icon to browse to the file.
  • Field - Posts HTML form data, typically used to submit form data to an HTTP server. Enter the desired form data in the File field parameter, and then manually enter the path and file name of the file where the field is located in the File path parameter, or click the folder icon to browse to the file.
  • None - No data or file is included in the post.
Text Text Yes, if Post type is set to Text (Empty) DATA="The text string" Specifies the text string of data to post. This parameter becomes active and is required if the Post type parameter is set to Text.
Query string Yes/No No (Empty) QUERYSTRING="YES" If selected, query strings are used with the text string. This parameter is active only if the Post type parameter is set to Text.
File field Text Yes, if Post type is set to Field (Empty) FILEFIELD="</html>" Specifies the field (that is, HTML form data) to upload. This parameter becomes active and is required if the Post type parameter is set to Field.
File path Text Yes, if Post type is set to File or Field (Empty) DATA="c:\temp\file.txt" Specifies the file containing the field or form data to upload. If the Post type parameter is set to File, this parameter specifies the path and file name to post. This parameter becomes active and is required if the Post type parameter is set to File or Field.
Request fields Text No (Empty)
  • NAME="theName"
  • VALUE="theValue"
Allows custom fields to be added to the request. Required parameters are:
  • Name - String that specifies the field/form name.
  • Value - String that specifies the field/form value.
Populate variable with result data Text No (Empty) RESULTVARIABLE="varName" The name of the variable to populate with the results of the transmission.
Create and populate dataset Text No (Empty) RESULTDATASET="theDataset" The name of the dataset to populate with request and response data, as well as other relevant information about the action performed. More details regarding the fields that this dataset creates can be found below under Datasets.

Credentials

Property Type Required Default Markup Description
Authentication type Text (options) No None
  • AUTHENTICATION="none"
  • AUTHENTICATION="basic"
  • AUTHENTICATION="digest"
  • AUTHENTICATION="ntlm"
Specifies the type of authentication to use with this activity. The available options are:
  • None (default) - No authentication is used.
  • Basic - Based on a username and password, this is the authentication mechanism defined in the HTTP/1.0.
  • Digest - Like the Basic option, Digest Authentication authenticates a user based on a username and a password. However, the authentication is performed by transmitting the password in an encrypted form which is much more secure than the simple base64 encoding used by Basic Authentication.
  • NTLM - A challenge-response scheme, consisting of three messages, commonly referred to as Type 1 (negotiation), Type 2 (challenge) and Type 3 (authentication).
Username Text No (Empty) USERNAME="Coolguy" A valid user name to use during the authentication. If the Authentication type parameter is set to None, this parameter is ignored.
Password Text No (Empty) PASSWORD="encrypted" The password to use during the authentication. If created in visual mode, this value is automatically encrypted. If the Authentication type parameter is set to None, this parameter is ignored.
Certificate file Text No (Empty) CERTIFICATE="C:\Temp\certFile.pfx" The path and file name of the certificate file to use to validate the connection. Click the folder icon to navigate to the specified certificate file or enter the path and file name manually. Enter this information if a Certificate Authority (CA) is used to identify one end or both end of the transactions. Automate Desktop supports the following certificate file types:
  • Internet Security Certificate (.cer) - Security file provided by a third party such as VeriSign or Thwate that confirms the authenticity of a Web site; installed on a Web server (such as Apache or Windows Advanced Server) to authenticate the validity of a certain website hosted on the server.
  • Privacy Enhanced Mail Certificate (.pem) - Base64-encoded certificate file, such as a PEM-encoded X509 certificate; used to authenticate a secure website; typically imported from a Unix-based Apache Web server and compatible with OpenSSL applications. PEM certificate files are generated automatically and are not meant to be opened or edited manually.
  • PKCS #12 Certificate File (.pfx) - Encrypted security file that stores secure certificates used to authenticate a person or device, such as a computer or Web server; requires a password to be opened; can be installed by right-clicking the file and selecting "Install PFX."
  • Personal Information Exchange (.p12) - SSL certificate used to authenticate a secure website on a Microsoft IIS Web server.
Passphrase Text No (Empty) CERTIFICATEPASSPHRASE="encrypted" The passphrase to use to authenticate connection. A passphrase is a password that may comprise of a whole phrase.
Ignore invalid server certificate Yes/No No No IGNOREINVALIDCERTIFICATE="YES" If selected, specifies that this action ignores invalid certificates when connecting to a server using SSL. This option is disabled by default.

Advanced

Property Type Required Default Markup Description
Protocol version Text (options) No HTTP 1.1
  • VERSION="HTTP10"
  • VERSION="HTTP11"
Specifies the protocol version to use. The available options are:
  • HTTP 1.0 - Uses a separate connection to the same server for every request-response transaction.
  • HTTP 1.1 - Can reuse a connection multiple times allowing less latency.
Content type (optional) Text No (Empty) CONTENTTYPE="text/html" The content type and subtype of the data or file to upload (for example, application/zip, text/csv, image/jpeg).
SSL version Text (options) Yes

TLS1, TLS1.1, TLS1.2, TLS1.3

  • SSLVERSION="SSL2"
  • SSLVERSION="SSL3"
  • SSLVERSION="TLS1"
  • SSLVERSION="TLS1.1"
  • SSLVERSION="TLS1.2"
  • SSLVERSION="TLS1.3"
Specifies the versions of SSL (Secure Sockets Layer) and/or TLS (Transport Layer Security) protocols to use to secure the connection to the server. To select multiple versions, manually enter and separate each version with a comma (see default setting). The available options are:
  • SSL2
  • SSL3
  • TLS1
  • TLS1.1
  • TLS1.2
  • TLS1.3
NOTE: For compatibility with most sites, it is recommended to use the default TLS1,TLS1.1,TLS1.2, TLS1.3 setting for this parameter. However, older sites may require SSL2 and/or SSL3.
User agent Text (options) Yes AutoMate USERAGENT="text" The user agent originating the request. A website may require a User Agent string to be sent to it for statistical purposes, tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations (the default User Agent entered  is AutoMate).
Timeout Number No 100 TIMEOUT="50" The maximum time the step waits for a response from the HTTP server before failing with a time out error. It may be useful to increase this value when posting extremely large amounts of data or if waiting for a long transaction to complete. (default value is 100 seconds).
Measure (unlabeled) Text (options) No seconds
  • MEASURE="milliseconds"
  • MEASURE="seconds"
  • MEASURE="minutes"
  • MEASURE="hours"
The time measurement corresponding to the value entered in the Timeout parameter. The available options are:
  • Milliseconds - Timeout value set to milliseconds.
  • Seconds (default) - Timeout value set to seconds.
  • Minutes - Timeout value set to minutes.
  • Hours - Timeout value set to hours.
Cookie permission Text (options) No Block
  • COOKIE="block"
  • COOKIE="read"
  • COOKIE="write"
  • COOKIE="allow"
Specifies how this activity handles cookies sent to/from the server. The available options are:
  • Block - Block cookies sent by the server. Note that specific servers may require cookies.
  • Read - Allow cookies sent by the server to be read onto a specific file.
  • Write - Allow a specific cookie file to be sent to the server.
  • Allow - Allow both read and write options to be performed.
NOTE: HTTP cookies are used for authenticating, session tracking (state maintenance), and maintaining specific information about users.
Encode URL Yes/No No No ENCODEURL="YES" If selected, encodes the URL by converting non-compliant characters to ASCII format (for example, a space in a URL is converted to %20).
Cookie file Text No (Empty) COOKIEFILE="c:\theFile" The cookie file to use with this activity to identify and/or authenticate a server-based session. Cookies can be stored in different locations, depending on the version of explorer and Windows you are using. This parameter is not available if the Cookie permission parameter is set to Block.
Overwrite cookie file Yes/No No No OVERWRITECOOKIEFILE="yes" HTTP requests and responses are written to the same cookie file. By default, new request/response data is appended at the end of the cookie file as a new line. If this parameter is selected, new request/response data will overwrite existing data. Overwriting is a good way to minimize the size of a cookie file.  This parameter is disabled by default.
Request header(s) Text No (Empty)
  • NAME="theName"
  • VALUE="theValue"
Allows entry of custom HTTP headers to the request. Required parameters are:
  • Name - String that specifies the header name.
  • Value - String that specifies the header value.
Request cookie(s) Text No (Empty)
  • NAME="theName"
  • VALUE="theValue"
Allows entry of custom HTTP cookies to the request. Request cookies can be used in conjunction with cookie files. Required parameters are:
  • Name - String that specifies the cookie name.
  • Value - String that specifies the cookie value.
Proxy type Text (options) No System default
  • PROXYTYPE="none"
  • PROXYTYPE="socks4"
  • PROXYTYPE="socks4a"
  • PROXYTYPE="socks5"
  • PROXYTYPE="http"
Specifies the proxy type for Automate Desktop to use when attempting network communications through a proxy server. The available options are:
    System default - Uses the default configurations set for Proxy in the Default Properties section of the Task Administrator (Options > Default Properties > Proxy).
  • None - Explicitly instructs the action not to use a proxy server regardless of the system default.
  • SOCKS 4 - Instructs the action to go through a SOCKS 4-compliant server.
  • SOCKS 4a - Instructs the action to go through a SOCKS 4a -compliant server.
  • SOCKS 5 - Instructs the action to go through a SOCKS 5-compliant server.
  • HTTP - Instructs the action to go through an HTTP-compliant server.
NOTE:
  • To create the most portable tasks, it is recommended to select System default and specify proxy settings globally in the Default Properties section. By proceeding in this manner, tasks created in one environment that may have a proxy server will be portable to others that do not, and vice-versa.
  • If you are unsure of the value to use in this parameter, contact your network administrator.
Proxy server Text Yes, if Proxy type is set to SOCKS 4, SOCKS 4A, SOCKS 5, or HTTP (Empty)
  • PROXYSERVER="proxy.host.com"
  • PROXYSERVER="xxx.xxx.xxx.xxx"
The hostname (server.domain.com) or IP address of the proxy server. This parameter is only available and required if the Proxy type parameter is set to SOCKS 4, SOCKS 4A, SOCKS 5, or HTTP.
Proxy port Number Yes, if Proxy type set to SOCKS 4, SOCKS 4A, SOCKS 5, or HTTP 1028 PROXYPORT="3000" The proxy port number to use to connect to the proxy server. Most proxy servers operate on port 1028 ( default), however, a proxy server can operate on other ports. This parameter is only available and required if the Proxy type parameter is set to SOCKS 4, SOCKS 4A, SOCKS 5, or HTTP.
Proxy username (optional) Text No (Empty) PROXYUSERNAME="username" The username to use to authenticate when connecting through the proxy server. This parameter is only available if Proxy type is set to SOCKS 5 or HTTP.
Proxy password (optional) Text No (Empty) PROXYPASSWORD="text (encrypted)" The password corresponding with the Proxy username parameter to use to authenticate when connecting through the proxy server. This parameter is encrypted in Task Builder. This parameter is only available if Proxy type is set to SOCKS 5 or HTTP.

Description

Error Causes

On Error

Additional notes

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The table below describes these fields (assuming the dataset name assigned was theDataset).

Name Type Return Value
theDataset.RequestHeader Text Returns the request header. The header fields define various characteristics of the data transfer that is requested or the data that is provided in the message body. HTTP request header fields contain the parameters of an HTTP request operation.
theDataset.RequestCookies Text Gets a collection of cookies sent by the client.
theDataset.Data Text The progress of the snapshot, in percentage.
theDataset.ResponseHeader Text Returns the response header. HTTP response header fields contain the parameters of an HTTP response operation.
theDataset.ResponseCookies Text Gets the response cookie collection.
theDataset.Log Text Provides a log of the transmission.

Examples

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Example 1

Using connection settings stored within the HTTP - Post activity, this sample task posts search to the server, and then displays request header information and response header information in a dialog.

Copy
<AMHTTP ACTIVITY="post" URL="http://www.fortra.com" TYPE="field" RESULTDATASET="myDataset"><HEADER NAME="search" VALUE="automate" /><FIELD NAME="Search" VALUE="automate" /></AMHTTP>
<AMSHOWDIALOG>Request Header Info - %myDataset.RequestHeader%Response Header Info - %myDataset.ResponseHeader%</AMSHOWDIALOG>

Example 2

Using a predefined connection with the HTTP - Post activity, this sample task posts search to the server, and then displays request header information and response header information in a dialog.

Copy
<AMHTTP ACTIVITY="define" SESSION="HttpSession1" IGNOREINVALIDCERTIFICATE="YES" />
<AMHTTP ACTIVITY="post" SESSION="HttpSession1" URL="http://www.fortra.com" TYPE="field" RESULTDATASET="myDataset"><FIELD NAME="search" VALUE="automate" /></AMHTTP>
<AMSHOWDIALOG>Request Header Info - %myDataset.RequestHeader%Response Header Info - %myDataset.ResponseHeader%</AMSHOWDIALOG>