HTTPClient object

The HTTPClient object is a base object for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

Compared to the Inet object, the HTTPClient object is easier to use and supports more methods (Get/Post/Put/Delete) and more SSL protocols (TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, SSL 2.0, and SSL 3.0).

Compared to RESTClient, HTTPClient can handle a wider range of API requests and more complex and hierarchical response data. However, if you want to work with RESTful Web Service APIs, RESTClient is recommended, as RESTClient is more efficient when handling APIs with simple flat response data.

The JSON string returned from the APIs must be in the format described in the section called “Supported JSON formats” in Application Techniques.

For how to transfer files or data via HTTPClient, refer to the section called “Transferring files with HTTPClient” in Application Techniques.

HTTPClient supports compression for the downloaded data, but not for the uploaded data. If the data received from the API is compressed, it will be automatically decompressed. Gzip and Brotli compression formats are supported. The developer can use the SetRequestHeader function to set the Accept-Encoding header to allow only the gzip or br compression format.

Note

It is not supported to use this object to process large data (20 MB or 100,000 data rows can be considered as large data based on our tests), because this object will call a third-party library which is memory intensive. If you want to process large data using HTTPClient, it is recommended that you disable the AutoReadData property (by default it is enabled) and use the ReadData function. View the code example in ReadData for how to process large data.

Note

This object uses your computer's proxy settings directly. It currently does not support enabling/disabling the proxy settings or configuring its own proxy.

Note

HTTPClient object (as well as RESTClient, CrypterObject, CoderObject, CompressorObject, DotNetAssembly, JSONGenerator, JSONParser, JSONPackage, OAuthClient, PDF Builder objects, SMTPClient, PowerServerLabel, PowerServerResult) does not support multi-threading.

Properties

HTTPClient property

Datatype

Description

AnonymousAccess

Boolean

Whether to allow the client to access the server anonymously.

AutoReadData

Boolean

Whether to read the response body automatically.

CheckForServerCertRevocation

Boolean

Checks if the server certificate is revoked.

EnableHttp2

Boolean

Whether to enable support for the HTTP2 connection when sending requests.

IgnoreServerCertificate

Integer

Ignores certain error(s) of the server certificate.

SecureProtocol

Integer

Specifies the security protocol.

TimeOut

Long

Specifies the timeout seconds.

ClassDefinition

PowerObject

An object of type PowerObject containing information about the class definition of the object or control.


Events

HTTPClient event

Occurs

Constructor

Immediately before the Open event occurs in the window.

Destructor

Immediately after the Close event occurs in the window.


Functions

HTTPClient function

Datatype returned

Description

ClassName

String

Returns the name assigned to the object.

ClearClientCert

Integer

Clears the client certificate that is set with SetClientCert.

ClearRequestHeaders

Integer

Clears the headers of the request.

GetContextService

Integer

Creates a reference to a context-specific instance of the specified service.

GetHttpVersion

String

Gets the HTTP protocol version used in communication.

GetParent

PowerObject

Returns a reference to the name of the parent object.

GetRequestHeader

String

Gets the request header by name.

GetRequestHeaders

String

Gets all of the request headers' information.

GetResponseBody

Integer

Gets the response body.

GetResponseHeader

String

Gets the response header by name.

GetResponseHeaders

String

Gets all of the response headers' information.

GetResponseStatusCode

Long

Gets the response status code.

GetResponseStatusText

String

Gets the response status description.

GetSupportScheme

Integer

Gets the currently supported authentication scheme.

PostData

Integer

Sends the data with POST method.

PostDataEnd

Integer

Finishes sending the data with POST method.

PostDataStart

Integer

Starts sending the data with POST method.

PostEvent

Boolean

Adds an event to the end of the message queue for the object.

ReadData

Integer

Reads the response body.

ResendPostRequest

Integer

Sends the request again.

SendRequest

Integer

Sends the request to the server.

SetClientCert

Integer

Sets the client certificate that will be used to access the server.

SetCredentials

Integer

Sets the current authentication credentials.

SetRequestHeader

Integer

Sets the request header.

SetRequestHeaders

Integer

Sets all of the request headers' information.

TriggerEvent

Integer

Triggers a specific event in the object and executes the script for the event.

TypeOf

Object

Returns the type of the object.