cHTTP_Client.GetOption

<< Click to Display Table of Contents >>

Navigation:  ThinBASIC Modules > HTTP > HTTP Module Classes > cHTTP_Client >

cHTTP_Client.GetOption

 

Description

 
Gets one of the options described below

 

Syntax

 

v = <cHTTP_Client>.GetOption(lOption)

 

Returns

 

String or Number depending on lOption.

 

Parameters

 

Name

Type

Optional

Meaning

lOption

Number

No

The option whose value is to be set.

 

 

Option equate

Meaning

%SXH_OPTION_URL

This option allows the client to learn the final URL last used.

 

For example, after a call made using the <cHTTP_Client>.Send method has completed, you can use this option to check the URL and see if any redirection occurred. The URL, however, cannot be read until the <cHTTP_Client>.Open method is next called.

%SXH_OPTION_URL_CODEPAGE

By default, %CP_UTF8 is the code page used to convert the Unicode URL string (specified in the open method) to a single-byte representation.

 

This option allows the client to override this default with a different code page value. The client should specify an unsigned integer value for the code page.

%SXH_OPTION_ESCAPE_PERCENT_IN_URL

By default, escaping unsafe ANSI characters in the URL (for example, " " -> "%20") does not escape the % character itself.

 

This option allows the client to change this behavior. The client should specify a Boolean True/False value for this option.

%SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS

This option is a DWORD mask of various flags that can be set to change this default behavior.

 

The default value is to ignore all problems.

You must set this option before calling the <cHTTP_Client>.Send method.

 

The flags are as follows:

%SXH_SERVER_CERT_IGNORE_UNKNOWN_CA: Unknown certificate authority

 

%SXH_SERVER_CERT_IGNORE_WRONG_USAGE: Malformed certificate such as a certificate with no subject name.

 

%SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID: Mismatch between the visited hostname and the certificate name being used on the server.

 

%SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID: The date in the certificate is invalid or has expired.

 

%SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS: All certificate errors.

 

To turn off a flag, you subtract it from the default value, which is the sum of all flags.

 

For example, to catch an invalid date in a certificate, you turn off the %SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID flag as follows:

 

shx.setOption(%SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS

(shx.getOption(%SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS) - 

%SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID)

%SXH_OPTION_SELECT_CLIENT_SSL_CERT

By default, the value of this option is an empty string (""), which means pick the first certificate in the local store to send if the server requests a client certificate.

 

This option is a string that lets you select which client certificate from the local store should be sent.

 

You must set this option before calling the <cHTTP_Client>.Send method.

 

The following example sets the client certificate option to request the client certificate named "MSXML":

shx.SetOption(%SXH_OPTION_SELECT_CLIENT_SSL_CERT, "MSXML")

 

Remarks

 

More info at: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms753798(v%3dvs.85)

 

Restrictions

 

See also

 

Examples