...
The client functions are used to exchange data with a HTTP server. There are specific functions for GET and POST as well as functions for general HTTP requests. Either plain text or encrypted communication can be used. Basic authentication is supported, as well as the use of a keystore, and if required a truststore, for the functions with an encrypted communication channel.
Note | |
---|---|
title | Note!In all parameter descriptions below, "HTTP" may refer to both HTTP and HTTPS, and both HTTP/1 and HTTP/2. |
...
Code Block |
---|
string httpGet ( string host, string path, string protocol, //Optional int port, //Optional boolean secure, //Optional int requestTimeout, //Optional int connectionTimeout, //Optional string username, //Optional string password, //Optional map<string, string> headers ) //Optional |
Parameter | Description | |
---|---|---|
| The name or IP address of the HTTP server. | |
| The path.
|
| ||||
| The protocol used: HTTP/1 or HTTP/2. The default value is HTTP/1. To use HTTP/2, you must set this value to "h2". | |||
| The port number to contact the HTTP server on. Port 80 is used for HTTP connection and 443 is used for HTTPS connection by default. | |||
| Indicates whether the data should be sent in secure mode or not. | |||
| The number of milliseconds to wait for a response. If the value is not specifically specified, the default timeout is used. The default value is 15000 milliseconds. | |||
| The number of milliseconds to wait for a connection to be established. If the value is not specifically specified, the default timeout is used. The default value is 3000 milliseconds. | |||
| A username for an account on the HTTP server. | |||
| Password associated with the username. | |||
| Custom HTTP request headers. | |||
Returns | Content from the HTTP server. It will be |
httpPost
This function uses the POST method to send content to an HTTP/2 server and receives the response.
Code Block |
---|
string httpPost ( string host, string path, bytearray content, string contentType, string protocol, //Optional int port, //Optional boolean secure, //Optional int requestTimeout, //Optional int connectionTimeout, //Optional string username, //Optional string password, //Optional map<string, string> headers ) //Optional |
Parameter | Description | |
---|---|---|
| The name or IP address of the HTTP server. | |
| The path
|
| ||||
| The body of the request in bytearray format. | |||
| The MIME type of the content.
|
| ||||
| The protocol used: HTTP/1 or HTTP/2. The default value is HTTP/1. To use HTTP/2, you must set this value to "h2". | |||
| The port number to contact the HTTP server on. Port 80 is used for HTTP connection and 443 is used for HTTPS connection by default. | |||
| Indicates whether the data should be sent in secure mode or not. | |||
| The number of milliseconds to wait for a response. If the value is not specifically specified, the default timeout is used. The default value is 15000 milliseconds. | |||
| The number of milliseconds to wait for a connection to be established. If the value is not specifically specified, the default timeout is used. The default value is 3000 milliseconds. | |||
| A username for an account on the HTTP server. | |||
| Password associated with the username. | |||
| Custom HTTP request headers. | |||
Returns | Content from the HTTP server. It will be |
httpReq
This function makes an HTTP request and uses the specified method, e g GET, POST, PUT etc.
Code Block |
---|
string httpRequest ( string method, string hosturl, map<string, string> headers, string path, bytearraystring content, string contentType, string protocol, //Optional int port, //Optional boolean secure, //Optional int requestTimeout, //Optional int connectionTimeout, //Optional string username, //Optional string password, //Optional map<string,string> headers ) //Optional |
Parameter | Description |
---|---|
| The HTTP method. |
host
| The |
host and port of the HTTP server |
, e g http://host:port | ||
| Key-value pairs containing request header fields | |
| The path
|
| |||
| The body of the request in bytearray format. | ||
| The MIME type of the content.
|
| ||||
| The protocol used: HTTP/1 or HTTP/2. The default value is HTTP/1. To use HTTP/2, you must set this value to "h2". | |||
| The port number to contact the HTTP server on. Port 80 is used for HTTP connection and 443 is used for HTTPS connection by default. | |||
| Indicates whether the data should be sent in secure mode or not. | |||
| The number of milliseconds to wait for a response. If the value is not specifically specified, the default timeout is used. The default value is 15000 milliseconds. | |||
| The number of milliseconds to wait for a connection to be established. If the value is not specifically specified, the default timeout is used. The default value is 3000 milliseconds. | |||
| A username for an account on the HTTP server. | |||
| Password associated with the username. | |||
| Custom HTTP request headers. | |||
Returns | A response from the HTTP server. It will be |
httpMultipartPost
This function uses the POST method to send multipart binary contents to an HTTP server and receives the response.
Code Block |
---|
bytearray httpMultipartPost ( string host, string path, list<MultipartSegmentUDR> content, string protocol, //Optional int port, //Optional boolean secure, //Optional int requestTimeout, //Optional int connectionTimeout, //Optional string username, //Optional string password, //Optional map<string, string> headers ) //Optional |
Parameter | Description |
---|---|
| The name or IP address of the HTTP server. |
| The path on the server to which we should do the POST. |
content | The body of the the request. |
protocol | The protocol used: HTTP/1 or HTTP/2. The default value is HTTP/1. To use HTTP/2, you must set this value to "h2". |
| The port to be used for the HTTP server. Port 80 is used for HTTP connection and 443 is used for HTTPS connection by default. |
| Indicates whether the data should be sent in secure mode or not. |
| The number of milliseconds to wait for a response. If the value is not specifically specified, the default timeout is used. The default value is 15000 milliseconds. |
| The number of milliseconds to wait for a connection to be established. If the value is not specifically specified, the default timeout is used. The default value is 3000 milliseconds. |
| Username for the account to be used on the HTTP server. |
| Password associated with the username. |
| Custom HTTP request headers. |
Returns | A bytearray from the HTTP server. It will be null if any part of the communication fails. |
Note | ||||||||
---|---|---|---|---|---|---|---|---|
title | Note!For optional parameters, you need to state null in case you specify subsequent optional parameters. If there are no subsequent parameters, you do not have to state anything.
|
...
If the two properties above are not set in the relevant Execution Context <pico>.conf
, MZ Default Keystore is used.
The property https.apl.keystore_location
represents the location of the keystore and the property https.apl.keystore_passphrase
represents the passphrase for that keystore.
...
Code Block |
---|
keytool -keystore /var/opt/mz/HttpdExec.keystore -genkey -keyalg RSA |
Note |
---|
Note!The Keystore passphrase must be the same as the passphrase used by the certificate. |
...
A truststore is a keystore that is used when deciding what to trust - truststore stores certificates from third parties. If you receive data from an entity that you already trust, and if you can verify that the entity is what it claims to be, you can assume that the data does in fact come from that entity.
By Default,
uses its own truststore, which always trusts any server connection....
After setting the property https.apl.userdefined.truststore
to true
, if you want to use a specific truststore, set the following properties in the relevant ECs:
https.apl.truststore_location
https.apl.truststore_passphrase
If you do not set these two properties, the Java Default Truststore is used.
...