HTTP - Post

Declaration

<AMHTTP ACTIVITY="post" URL="text" DATA="text" ACTION="text (options)" BLOCKCOOKIES="YES/NO" CLEARCOOKIES="YES/NO" RESULTVARIABLE="text" AUTHENTICATION="text (options)" USERNAME="text" PASSWORD="text (encrypted) TIMEOUT="number" CONTENTTYPE="text" USERAGENT="text" CERTIFICATE="text" CERTIFICATEPASSPHRASE="text (encrypted)" IGNOREINVALIDCERTIFICATE="YES/NO" PROXYTYPE="text )options)" PROXYSERVER="text" PROXYPORT="number" PROXYUSERNAME="text" PROXYPASSWORD="text (encrypted)" />

See Also

FTP, Exchange, Connect to Network, Execute Web Service, Get Email, Map Drive, MSMQ, Send E-mail, Send IM, Send Network Message, Twitter

Description

Submits data to be processed (i.e. from an HTML form) to the identified resource. The data is included in the body of the request. This may result in the creation of a new resource or the updates of existing resources or both. Optionally populates a variable with result data and/or populates a dataset with request and response information.

The difference between POST and PUT is reflected in the different meaning of the request URL. The URL in a POST request identifies the resource that will handle the enclosed entity. That resource might be a data-accepting process, a gateway to some other protocol, or a separate entity that accepts annotations. In contrast, the URL in a PUT request identifies the entity enclosed with the request.

Practical Usage

Useful when data must be posted or uploaded via HTTP protocol without using an external browser.

Parameters

General Properties

Property

Type

Required

Default

Markup

Description

URL

Text

Yes

(Empty)

URL="http://www.netauto.com

/index.htm"

The URL (Uniform Resource Locator) to which the data should be posted.

Type

Text (options)

No

Text

TYPE="file"

Indicates the type of data to post. The available options are:

  • Text: Data type to post is a text string. Requires entry of the text string to post in the provided data field.

  • File: Data type to post is a specific file. Requires entry of the path and file name in the provided data field.

  • Field: Data type to post is a field. Typically used to submit form data to an HTTP server.

Data (text box)

Text

Yes

(Empty)

DATA="The text string"

If the data type selected in the Type parameter is Text, this parameter specifies the string of data to post. If the data type selected is File, this parameter specifies the path and file name to post. This parameter is active only if Type is set to Text or File. If Field is selected, this parameter is ignored.

File field

Text

Yes

(Empty)

FILEFIELD="

The field (i.e. HTML form data) to upload. This parameter is available only of the Type parameter is set to Field.

File

Text

Yes

(Empty)

DATA="a"

The file that contains the field or form data to upload.This parameter is available only of the Type parameter is set to Field.

Request fields

Text

No

(Empty)

NAME="theName"

VALUE="theValue"

Allows you to add custom fields 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 that should be populated with the results of the transmission.

Dataset to populate

Text

No

(Empty)

RESULTDATASET="myDataset"

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 Notes.

Block Cookies

Yes/No

No

No

BLOCKCOOKIES="yes"

HTTP cookies are used for authenticating, session tracking (state maintenance), and maintaining specific information about users. If set to YES, AutoMate will not store cookies during transmission. This parameter is set to NO by default.

Cookie file

Text

No

No

COOKIEFILE="myCookie.Text

The cookie file that this activity should use 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 available only if the Block Cookies parameter is set to NO.

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 added to the end of the file as a new line. If this parameter is set to YES, new request/response data will overwrite existing data. Set to NO by default.

 

Credentials Properties

Property

Type

Required

Default

Markup

Description

Authentication Type

Text (options)

No

None

AUTHENTICATION="digest"

The type of authentication that this activity should use. The available options are:

  • None (default)

  • Basic - Based on a username and password, this is the authentication mechanism defined in the HTTP/1.0.

  • Digest - Like Basic, 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 be used 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 be used 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.

↑ Top of Page

Advanced Properties

Property

Type

Required

Default

Markup

Description

Protocol Version

Text (options)

No

HTTP 1.1

VERSION="HTTP10"

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.

User Agent

Text (options)

Yes

AutoMate

USERAGENT="text"

Sometimes it's necessary for a web site to understand how it is being viewed, so most user agents identify themselves by sending a User Agent String to the web site. The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the 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

10

TIMEOUT="50"

The maximum time that the step should wait 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 10 seconds).

Measure

Text (options)

No

seconds

Measure="minutes"

The time measure that should be used in combination with the value entered in the Timeout parameter. The available options are:

  • Milliseconds

  • Seconds (default)

  • Minutes

  • Hours

Certificate File

Text

No

(Empty)

CERTIFICATE="certfile"

The path and file name of the certificate file used to validate connection. AutoMate 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)

PASSPHRASE="encrypted"

The passphrase used 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 set to YES, specifies that this step will ignore invalid certificates when connecting to a server using SSL. This parameter is set to NO by default.

Request Headers

Text

No

(Empty)

NAME="theName"

VALUE="theValue"

Allows you to add custom HTTP headers to the request. Required parameters are:

  • Name - String that specifies the header name.

  • Value - String that specifies the header value.

Request Cookies

Text

No

(Empty)

NAME="theName"

VALUE="theValue"

Allows you to add custom HTTP cookies to the request. Required parameters are:

  • Name - String that specifies the cookie name.

  • Value - String that specifies the cookie value.

 

Proxy Properties

Property

Type

Required

Default

Markup

Description

Proxy Type

Text (options)

No

System Default

PROXYTYPE="Socks5"

The proxy protocol that should be used. If you are unsure of the value to use in this parameter, contact your network administrator. The available options are:

  • System Default (default, recommended): The settings specified globally in the system preferences are used.

  • 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 best to specify System Default and specify proxy settings globally in the system settings 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.

Proxy Host

Text

No

(Empty)

a)PROXYSERVER="proxy.host.com"

b)PROXYSERVER="123.456.789.123"

The hostname (server.domain.com) or IP address (xxx.xxx.xxx.xxx) of the proxy server.

Proxy Port

Number

No

1028

PROXYPORT="3000"

The port that should be used to connect to the proxy server. Most proxy servers operate on port 1028 (the default) however the proxy server can be customized to operate on other ports.

Proxy Username

Text

No

(Empty)

PROXYUSERNAME="HulkHogan"

The user name that should be used to authenticate when connecting through the proxy server. This option is only valid when Socks 5 or HTTP is specified in the Proxy type parameter as they are the only versions that support authentication.

Proxy Password

Text

No

(Empty)

PROXYPASSWORD="encrypted"

The password that should be used to authenticate when connecting through the proxy server. When the step is created in visual mode using the Task Builder it is written to the task encrypted. This option is only valid when Socks 5 or HTTP is specified in the Proxy type parameter.

Description Properties

The Description tab allows you to customize the text description of any step as it appears in the Task Builder's Steps Pane.

More on setting custom step description

Error Causes Properties

The Error Causes tab allows you to select/omit specific errors that should cause a particular step to fail.

More on Error Causes properties

On Error Properties

The On Error tab allows you to determine what the task should do if a particular step encounters an error.

More about On Error properties

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.

Variables and Expressions

All text fields allow the use of expressions, which can be entered by surrounding the expression in percentage signs (example: %MYVARIABLE%, %Left('Text',2)%). To help construct these expressions, you can open Expression Builder from these fields by pressing F2.

More on variables
More on expressions

More on the expression builder

Example

NOTE: The code below can be copied and pasted directly into the Steps pane of the Task Builder.

 

Sample Task 1 - This sample task posts a text value to the server and displays result data, request header info and response header info in a message box.

 

<AMVARIABLE NAME="myVar"></AMVARIABLE>

<AMHTTP ACTIVITY="post" URL="http://www.snee.com/xml/crud/posttest.cgi" BLOCKCOOKIES="YES" RESULTVARIABLE="myVar" RESULTDATASET="myDataset" DATA="This is the text to post." />

<AMMESSAGEBOX>Result Data - %myVar%

Request Header Info - %myDataset.RequestHeader%

Response Header Info - %myDataset.ResponseHeader%</AMMESSAGEBOX>

 

 

Sample Task 2 - This sample task posts a specific (.txt) file to the server and thereafter, displays result data, request header info and response header info in a message box.

 

<AMVARIABLE NAME="myVar"></AMVARIABLE>

<AMHTTP ACTIVITY="post" URL="http://www.snee.com/xml/crud/testfile.txt" RESULTVARIABLE="myVar" RESULTDATASET="myDataset" TYPE="file" DATA="C:\Temp\TEST\testfile.txt" />

<AMSHOWDIALOG>Result Data - %myVar%

Request Header Info - %myDataset.RequestHeader%

Response Header Info - %myDataset.ResponseHeader%</AMSHOWDIALOG>

 

↑ Top of Page