HTTP Request Examples
The examples which follow can easily be replicated. The details on the associated HTTP Connection has been included.
Please also review HTTP Response Examples.
A Simple GET Request Example
The following, is an example of a simple piece of HTTP scripting as a Custom Script in an Action, where the daily exchange rates are pulled from NZ Customs.
This script uses an HTTP Connection called NZ Customs Rates, which contains the following. Note that the Protocol is HTTPS.

The SSL Settings contains the following. The Protocol has been set to Auto.

Within the Custom Script, notice the use of a Try…Except around all of the HTTP coding, to capture any possible errors.
procedure ScriptEvent (var Value : variant);var urlPath, q, q2, response_data: string;begin q := '44 high'; q2 := StringReplaceAll(q, ' ', '%20'); urlPath := 'parceladdress/2.0/domestic/addresses?count=8&q=' + q2; LogInfo(urlPath); try HTTP.Connection := 'NZ Customs Rates'; HTTP.Open('GET',''); HTTP.Send; if HTTP.Response.ResponseCode <> 200 then //Response-Code 200 means OK begin LogError('Error - Response Code: ' + HTTP.Response.ResponseText); Exit; end; Setlength(response_data, HTTP.response.content.size); HTTP.response.content.read(response_data, HTTP.response.content.size); LogInfo('HTTP response size: ' + IntToStr(HTTP.response.content.size)); except LogError('NZ Post API error: ' + ExceptionToString(ExceptionType, ExceptionParam)); end;end;This script produced and sent the following successful HTTP GET Request.

Please refer to Anatomy Of An HTTP Request for more detailed information.
This appears in the Log as follows. Notice the HTTP Trace tab.

A Simple POST Request Example
The following, is an example of HTTP scripting as a Custom Script in an Action, where a simple JSON payload is sent to a host server using a POST.
This script uses an HTTP Connection called JSON Sample HTTP, which contains the following. Note that the Protocol is HTTPS.

The SSL Settings contains the following. The Protocol has been set to Auto.

There are also Headers, entered via the Headers tab.

Within the Custom Script, notice the use of a Try…Except around all of the HTTP coding, to capture any possible errors. The payload is captured through the variable vHTTPRequestBodyStr.
procedure ScriptEvent (var Value : variant);var vErrStr, vHTTPRequestBodyStr, vHTTPResponseBodyStr: string; vRequestBodyJSON : TJSONObject; vResponseBodySize: integer; vResponseBodyJSON: TJSONValue;begin vErrStr := ''; LogInfo(''); // blank line vHTTPRequestBodyStr := '{"Greeting":"Hello there world! It is I. Horatio !"}'; // Now to identify the HTTP Connection, and POST to the host .... HTTP.Connection := 'JSON Sample HTTP'; HTTP.Open('POST', ''); HTTP.Header['Content-Type'] := 'application/json'; LogInfo(''); LogInfo('The payload follows -'+vHTTPRequestBodyStr); LogInfo(''); HTTP.ContentAsString := vHTTPRequestBodyStr; vHTTPResponseBodyStr := ''; try HTTP.Send; except vErrStr := 'HTTP call failed with message '; vErrStr := vErrStr + '"' + ExceptionToString(ExceptionType, ExceptionParam) + '".'; end; if (vErrStr = '') then begin // Extract and display the size of the payload vResponseBodySize := HTTP.Response.Content.Size; LogInfo(''); loginfo('Message Body (payload) size = ' + inttostr(vResponseBodySize)); vHTTPResponseBodyStr := HTTP.Response.ContentAsString; end; LogInfo(''); LogInfo('Response:' + vHTTPResponseBodyStr); // DIsplays the content of the response payload LogInfo(''); if (vErrStr = '') then if (HTTP.Response.ResponseCode <> 201) then // Status code 201 means CREATED begin vErrStr := 'Internal error: HTTP call failed with '; vErrStr := vErrStr + 'Response code ' + IntToStr(HTTP.Response.ResponseCode) + ' '; vErrStr := vErrStr + 'and body:"'; vErrStr := vErrStr + vHTTPResponseBodyStr + '".'; end; if (vErrStr = '') then begin vResponseBodyJSON := TJSONValue.Parse(vHTTPResponseBodyStr); if (not Assigned(vResponseBodyJSON)) then vErrStr := 'HTTP Response Body failed to convert to JSON.'; end; if (vErrStr = '') then if (not vResponseBodyJSON.IsObject) then vErrStr := 'HTTP Response Body is JSON but not a JSON Object.'; if (vErrStr = '') then // no error ... else begin LogInfo('Err:' + vErrStr); end; if (Assigned(vRequestBodyJSON)) then vRequestBodyJSON.Free; if (Assigned(vResponseBodyJSON)) then vResponseBodyJSON.Free; SetLength(vHTTPResponseBodyStr, 0);end;This appears in the Log as follows. Notice the HTTP Trace tab.

Found under the HTTP Trace tab, this script produced and sent the following successful HTTP POST Request.