HTTP - Get

Declaration

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

Description: Requests a representation of the specified resource or downloads a file using HTTP protocol from the selected URL. Optionally, populates a variable with the results and/or creates and populates a dataset with request and response data and other pertinent information about this activity's execution.

Practical Usage

Useful when specific data or a file must be downloaded via the HTTP protocol and HTML does not need to be rendered inside an external browser. File data can be saved to a file or put into a variable for further processing.

Parameters

General

Property

Type

Required

Default

Markup

Description

URL

Text

Yes

(Empty)

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

/index.htm"

The URL (Uniform Resource Locator) which points to the path of the resource to be fetched.

Local file

Text

Yes

(Empty)

FILE="c:\temp\download.htm"

A valid path and filename in which to save the downloaded file. If the file does not exist, it will be created during runtime.

Overwrite if the file exists

Yes/No

No

Yes

OVERWRITE="YES"

If set to YES (default), specifies that any matching file that already exists locally will be overwritten. If set to NO, the matching file will not be overwritten, however, an error will occur as result.

Populate variable with result data

Text

No

(Empty)

RESULTVARIABLE="theVar"

The name of an existing variable in which to populate with the result of this operation.

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

  1. AUTHENTICATION="none"

  2. AUTHENTICATION="basic"

  3. AUTHENTICATION="digest"

  4. AUTHENTICATION="ntlm"

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

  • None (default) - No authentication will be used.

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

Certificate file

Text

No

(Empty)

CERTIFICATE="C:\Temp\certFile.pfx"

The path and file name of the certificate file used to validate 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. 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 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 activity will ignore invalid certificates when connecting to a server using SSL. This option is set to NO by default.

Advanced

Property

Type

Required

Default

Markup

Description

Protocol Version

Text (options)

No

HTTP 1.1

  1. VERSION="HTTP10"

  2. VERSION="HTTP11"

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"

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 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 100 seconds).

Measure

Text (options)

No

seconds

  1. Measure="milliseconds"

  2. Measure="seconds"

  3. Measure="minutes"

  4. Measure="hours"

The time measurement that should correspond 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.

Cookies to/from file

Text (options)

No

Block

  1. COOKIE="block"

  2. COOKIE="read"

  3. COOKIE="write"

  4. COOKIE="allow"

Specifies how this activity should handle 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.

Cookie file

Text

No

(Empty)

COOKIEFILE=

"c:\theFile"

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 not available if the Cookies to/from file 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 set to YES, new request/response data will overwrite existing data. Overwriting is a good way to minimize the size of a cookie file.  This parameter is set to NO by default.

Request Headers

Text

No

(Empty)

  1. NAME="theName"

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

NOTE: Request headers can be used in conjunction with cookie files.

Request Cookies

Text

No

(Empty)

  1. NAME="theName"

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

NOTE: Request cookies can be used in conjunction with cookie files.

Proxy

Property

Type

Required

Default

Markup

Description

Proxy type

Text (options)

No

System Default

  1. PROXYTYPE="default"

  2. PROXYTYPE="nine"

  3. PROXYTYPE="socks4"

  4. PROXYTYPE="socks4a"

  5. PROXYTYPE="Socks5"

  6. PROXYTYPE="HTTP"

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 server

Text

No

(Empty)

  1. PROXYSERVER="proxy.host.com"

  2. PROXYSERVER="123.456.789.123"

The host name (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.

Use authentication

 

 

 

 

If enabled, a proxy username and password is required for authentication. Only valid when Socks 5 or HTTP is specified in the Proxy type parameter as they are the only versions that support authentication. This is a visual mode parameter only available during design time, thus, contains no markup.

Proxy username

Text

No

(Empty)

PROXYUSERNAME="HulkHogan"

The username that should be used to authenticate when connecting through the proxy server. This parameter is active only if the Use authentication parameter is enabled.

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 parameter is active only if the Use authentication parameter is enabled.

Description

Error Causes

On Error

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.

Example

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

Description: Sample HTTP Get.

 

<AMHTTP URL="http://www.networkautomation.com/index.htm" FILE="c:\temp\index.htm" RESULTVARIABLE="theResult" AUTHENTICATION="digest" USERNAME="text" PASSWORD="AM1bsEv2xlC2N9qWN7qDphOEw==aME" IGNOREINVALIDCERTIFICATE="YES" />