Platforms to show: All Mac Windows Linux Cross-Platform

Back to CURLMBS class.

Previous items Next items

CURLMBS.OptionSSLVerifyHost as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
This option determines whether libCURL verifies that the server cert is for the server it is known as.
Example
// if you use SSL, maybe put in a certificate or disable verification?

Var d as CURLMBS
// your CURL object

// disable
d.OptionSSLVerifyHost = 0
d.OptionSSLVerifyPeer = 0

// or better provide root certificates:

Var cacert As FolderItem = GetFolderItem("cacert.pem")
d.OptionCAInfo = cacert.NativePath
d.OptionSSLVerifyHost = 2
d.OptionSSLVerifyPeer = 1

When negotiating an SSL connection, the server sends a certificate indicating its identity.

When OptionSSLVerifyHost is 2, that certificate must indicate that the server is the server to which you meant to connect, or the connection fails.

CURL considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told CURL to connect.

When the value is 1, the certificate must contain a Common Name field, but it doesn't matter what name it says. (This is not ordinarily a useful setting).

When the value is 0, the connection succeeds regardless of the names in the certificate.

The default, since 7.10, is 2.

The checking this option controls is of the identity that the server claims. The server could be lying. To control lying, see OptionSSLVerifyPeer.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.

When you don't set the options for certificate path or load system certificates, the MBS Plugin will disable the verify step to let the transfer run.
(Read and Write property)

See also SSL_VERIFYHOST option in CURL manual.

CURLMBS.OptionSSLVerifyPeer as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Configure whether this CURL instance will verify the SSL peer certificate.
Example
// if you use SSL, maybe put in a certificate or disable verification?

Var d as CURLMBS
// your CURL object

// disable
d.OptionSSLVerifyHost = 0
d.OptionSSLVerifyPeer = 0

// or better provide root certificates:

Var cacert As FolderItem = GetFolderItem("cacert.pem")
d.OptionCAInfo = cacert.NativePath
d.OptionSSLVerifyHost = 2
d.OptionSSLVerifyPeer = 1

This option determines whether CURL verifies the authenticity of the peer's certificate. A value of 1 means CURL verifies; zero means it doesn't. The default is nonzero, but before 7.10, it was zero.

When negotiating an SSL connection, the server sends a certificate indicating its identity. CURL verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. As of 7.10, CURL installs a default bundle of CA certificates and you can specify alternate certificates with the OptionCAINFO option or the OptionCAPATH option.

When OptionSSLVerifyPeer is nonzero, and the verification fails to prove that the certificate is authentic, the connection fails. When the option is zero, the connection succeeds regardless.

Authenticating the certificate is not by itself very useful. You typically want to ensure that the server, as authentically identified by its certificate, is the server you mean to be talking to. Use OptionSSLVerifyHost to control that.

When you don't set the options for certificate path or load system certificates, the MBS Plugin will disable the verify step to let the transfer run.
(Read and Write property)

See also SSL_VERIFYPEER option in CURL manual.

CURLMBS.OptionSSLVerifyStatus as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set if we should verify the certificate status.

(Read and Write property)

See also SSL_VERIFYSTATUS option in CURL manual.

CURLMBS.OptionSSLVersion as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
What version of SSL/TLS to attempt to use.
Example
Var c as CURLMBS
c.OptionUseSSL = c.kFTPSSL_ALL
c.OptionSSLVersion = c.kSSLVersionTLSv12

The SSL and TLS versions have typically developed from the most insecure version to be more and more secure in this order through history: SSL v2, SSLv3, TLS v1.0, TLS v1.1, TLS v1.2 and the most recent TLS v1.3.

Use one of the available defines for this purpose. The available options are:

Default0The default acceptable version range. The minimum acceptable version is by default TLS v1.0 since 7.39.0 (unless the TLS library has a stricter rule).
TLSv11TLS v1.0 or later
SSLv22SSL v2 (but not SSLv3)
SSLv33SSL v3 (but not SSLv2)
TLSv1.04TLS v1.0 or later (Added in 7.34.0)
TLSv1.15TLS v1.1 or later (Added in 7.34.0)
TLSv1.26TLS v1.2 or later (Added in 7.34.0)
TLSv1.37TLS v1.3 or later (Added in 7.52.0)

See also kSSLVersion* constants.

The maximum TLS version can be set by using one of the CURL_SSLVERSION_MAX_ macros below. It is also possible to OR one of the CURL_SSLVERSION_ macros with one of the CURL_SSLVERSION_MAX_ macros.

Default&h10000The flag defines the maximum supported TLS version by libcurl, or the default value from the SSL library is used. libcurl will use a sensible default maximum, which was TLS v1.2 up to before 7.61.0 and is TLS v1.3 since then - assuming the TLS library support it. (Added in 7.54.0)
Max TLSv1.0&h40000The flag defines maximum supported TLS version as TLS v1.0. (Added in 7.54.0)
Max TLSv1.1&h50000The flag defines maximum supported TLS version as TLS v1.1. (Added in 7.54.0)
Max TLSv1.2&h60000The flag defines maximum supported TLS version as TLS v1.2. (Added in 7.54.0)
Max TLSv1.3&h70000The flag defines maximum supported TLS version as TLS v1.3. (Added in 7.54.0)

Please note that MBS Plugin does not yet support TLS v1.3 now, but may in future.
(Read and Write property)

See also SSLVERSION option in CURL manual.

CURLMBS.OptionStreamDepends as CURLMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set stream dependency on another CURL handle.

(Read and Write property)

See also STREAM_DEPENDS option in CURL manual.

CURLMBS.OptionStreamDependsE as CURLMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set E-xclusive stream dependency on another CURL handle.

(Read and Write property)

See also STREAM_DEPENDS_E option in CURL manual.

CURLMBS.OptionStreamWeight as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set stream weight, 1 - 256.

Default is 16.
(Read and Write property)

See also STREAM_WEIGHT option in CURL manual.

CURLMBS.OptionSuppressConnectHeaders as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Suppress proxy CONNECT response headers from events.

(Read and Write property)

See also SUPPRESS_CONNECT_HEADERS option in CURL manual.

CURLMBS.OptionTCPFastOpen as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set TCP Fast Open.

(Read and Write property)

See also TCP_FASTOPEN option in CURL manual.

CURLMBS.OptionTCPKeepAlive as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
If set to true, TCP keepalive probes will be sent.

The delay and frequency of these probes can be controlled by the OptionTCPKeepIdle and OptionTCPKeepInterval options, provided the operating system supports them. Set to false (default behavior) to disable keepalive probes (Added in 7.25.0).
(Read and Write property)

See also TCP_KEEPALIVE option in CURL manual.

CURLMBS.OptionTCPKeepIdle as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Sets the delay, in seconds, that the operating system will wait while the connection is idle before sending keepalive probes.

Not all operating systems support this option. (Added in 7.25.0)
(Read and Write property)

See also TCP_KEEPIDLE option in CURL manual.

CURLMBS.OptionTCPKeepInterval as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Sets the interval, in seconds, that the operating system will wait between sending keepalive probes.

Not all operating systems support this option. (Added in 7.25.0)
(Read and Write property)

See also TCP_KEEPINTVL option in CURL manual.

CURLMBS.OptionTCPNoDelay as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
An integer specifying whether the TCP_NODELAY option should be set or cleared (true = set, false = clear).

The option is cleared by default. This will have no effect after the connection has been established.

Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network).

Maximizing the amount of data sent per TCP segment is good because it amortizes the overhead of the send. However, in some cases (most notably telnet or rlogin) small segments may need to be sent without delay. This is less efficient than sending larger amounts of data at a time, and can contribute to congestion on the network if overdone.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TCP_NODELAY option in CURL manual.

CURLMBS.OptionTFTPBlockSize as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Specify block size to use for TFTP data transmission.

Valid range as per RFC 2348 is 8-65464 bytes. The default of 512 bytes will be used if this option is not specified. The specified block size will only be used pending support by the remote server. If the server does not return an option acknowledgement or returns an option acknowledgement with no blksize, the default of 512 bytes will be used. (added in 7.19.4)
(Read and Write property)

See also TFTP_BLKSIZE option in CURL manual.

CURLMBS.OptionTFTPNoOptions as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Whether not send any tftp option requests to the server.

(Read and Write property)

See also TFTP_NO_OPTIONS option in CURL manual.

CURLMBS.OptionTimeCondition as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The Time condition option.

This defines how the OptionTimeValue time value is treated. You can set this parameter to kTimeConditionIfModifiedSince (1) or kTimeConditionIfUnModifiedSince (2). This feature applies to HTTP and FTP.

The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would have not been met.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TIMECONDITION option in CURL manual.

CURLMBS.OptionTimeOut as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The maximum time in seconds that you allow the libCURL transfer operation to take.

Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option will cause CURL to use the SIGALRM to enable time-outing system calls.

In unix-like systems, this might cause signals to be used unless CURLOPT_NOSIGNAL is set.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TIMEOUT option in CURL manual.

CURLMBS.OptionTimeOutMS as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Pass a long as parameter containing the maximum time in milli seconds that you allow the libCURL transfer operation to take.

Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option will cause CURL to use the SIGALRM to enable time-outing system calls.
(Read and Write property)

See also TIMEOUT_MS option in CURL manual.

CURLMBS.OptionTimeValue as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
This should be the time in seconds since 1 jan 1970, and the time will be used in a condition as specified with OptionTimeCondition.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TIMEVALUE option in CURL manual.

CURLMBS.OptionTLS13Ciphers as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.3 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Specify which TLS 1.3 ciphers suites to use.

string holding the list of cipher suites to use for the TLS 1.3 connection. The list must be syntactically correct, it consists of one or more cipher suite strings separated by colons.

You'll find more details about cipher lists on this URL:

https://curl.haxx.se/docs/ssl-ciphers.html

The application does not have to keep the string around after setting this option.
(Read and Write property)

See also TLS13_CIPHERS option in CURL manual.

CURLMBS.OptionTLSAuthPassword as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 13.5 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Sets the TSL authentication password.

Please also set OptionTLSAuthType.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TLSAUTH_PASSWORD option in CURL manual.

CURLMBS.OptionTLSAuthType as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 13.5 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Sets the TLS authentication type.

You can set this to "SRP" to use Secure Remote Password authentication.
Please also set username and password.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TLSAUTH_TYPE option in CURL manual.

CURLMBS.OptionTLSAuthUsername as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 13.5 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Sets the TSL authentication user name.

Please also set OptionTLSAuthType.
The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TLSAUTH_USERNAME option in CURL manual.

CURLMBS.OptionTransferEncoding as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 13.0 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Adds a request for compressed Transfer Encoding in the outgoing HTTP request.

If the server supports this and so desires, it can respond with the HTTP response sent using a compressed Transfer-Encoding that will be automatically uncompressed by libCURL on reception.

Transfer-Encoding differs slightly from the Content-Encoding you ask for with OptionAcceptEncoding in that a Transfer-Encoding is strictly meant to be for the transfer and thus MUST be decoded before the data arrives in the client. Traditionally, Transfer-Encoding has been much less used and supported by both HTTP clients and HTTP servers.
(Read and Write property)

See also TRANSFER_ENCODING option in CURL manual.

CURLMBS.OptionTransferText as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
True tells the library to use ASCII mode for ftp transfers, instead of the default binary transfer.

For win32 systems it does not set the stdout to binary mode. This option can be usable when transferring text data between systems with different views on certain characters, such as newlines or similar.

libCURL does not do a complete ASCII conversion when doing ASCII transfers over FTP. This is a known limitation/flaw that nobody has rectified. libCURL simply sets the mode to ascii and performs a standard transfer.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also TRANSFERTEXT option in CURL manual.

CURLMBS.OptionUnixSocketPath as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Path to Unix domain socket.

(Read and Write property)

See also UNIX_SOCKET_PATH option in CURL manual.

CURLMBS.OptionUnrestrictedAuth as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
A boolean parameter tells the library it can continue to send authentication (user+password) when following locations, even when hostname changed.

This option is meaningful only when setting FollowOption.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also UNRESTRICTED_AUTH option in CURL manual.

CURLMBS.OptionUpkeepIntervalMS as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.5 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Connection upkeep interval.

Some protocols have "connection upkeep" mechanisms. These mechanisms usually send some traffic on existing connections in order to keep them alive; this can prevent connections from being closed due to overzealous firewalls, for example.

The user needs to explicitly call Upkeep in order to perform the upkeep work.

Currently the only protocol with a connection upkeep mechanism is HTTP/2: when the connection upkeep interval is exceeded and Upkeep is called, an HTTP/2 PING frame is sent on the connection.
(Read and Write property)

See also UPKEEP_INTERVAL_MS option in CURL manual.

CURLMBS.OptionUpload as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
True tells the library to prepare for an upload.

The OptionInFileSize or OptionInFileSizeLarge options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libCURL otherwise.

Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with OptionHTTPHeader as usual.

If you use PUT to a HTTP 1.1 server, you can upload data without knowing the size before starting the transfer if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with OptionHTTPHeader. With HTTP 1.0 or without chunked transfer, you must specify the size.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also UPLOAD option in CURL manual.

CURLMBS.OptionUploadBufferSize as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.5 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Set preferred upload buffer size.

Pass a long specifying your preferred size (in bytes) for the upload buffer in libcurl. It makes libcurl uses a larger buffer that gets passed to the next layer in the stack to get sent off. In some setups and for some protocols, there's a huge performance benefit of having a larger upload buffer.

This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size.

The upload buffer size is by default 64 kilobytes. The maximum buffer size allowed to be set is 2 megabytes. The minimum buffer size allowed to be set is 16 kilobytes.

Since curl 7.61.1 the upload buffer is allocated on-demand - so if the handle isn't used for upload, this buffer will not be allocated at all.

For slow upload/downloads, it may be better to set buffer size to 1 MB with OptionUploadBufferSize or OptionBufferSize properties to make transfers faster.
(Read and Write property)

See also UPLOAD_BUFFERSIZE option in CURL manual.

CURLMBS.OptionURL as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The actual URL to deal with.
Example
Var c As New CURLMBS

// this example sends a xml request to a server
c.OptionURL = "http://www.someserver.com/service"

// some XML for a SOAP request
Var request As String = "<?xml version=""1.0""?><methodCall><methodName>application.getValue</methodName><params><param><value>info</value></param></params></methodCall>"

c.OptionPostFields = request

Var header(-1) As String
header.Append "Content-Type: text/xml"
c.SetOptionHTTPHeader header

// this should be c.kError_OK if okay.
Var result As Integer = c.Perform

Var output As String = c.OutputData
Var debugLog As String = c.DebugMessages
Var HTTPStatus As Integer = c.GetInfoResponseCode

Break

If you need to pass username or password, please consider using the OptionUsername and OptionPassword properties. If you username or password contains characters like @ or :, you must use those properties.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.

The parameter should be a char * to a zero terminated string. The string must remain present until CURL no longer needs it, as it doesn't copy the string.

If the given URL lacks the protocol part ("http://" or "ftp://" etc), it will attempt to guess which protocol to use based on the given host name. If the given protocol of the set URL is not supported, libCURL will return on error (kError_UNSUPPORTED_PROTOCOL) when you call Perform. Use VersionInfo for detailed info on which protocols that are supported.

The string given to CURLOPT_URL must be url-encoded and following the RFC 2396:
http://CURL.haxx.se/rfc/rfc2396.txt

CURLOPT_URL is the only option that must be set before Perform is called.
For file uploads or downloads, please include the file name in the URL.

Please do never include username and passwords in URLs, as those get often written to log files and would reveal your credentials!
Instead use OptionUsername and OptionPassword.

If you miss the protocol in the URL, you may get an error about HTTP/0.9 being used and not allowed.
(Read and Write property)

See also URL option in CURL manual.

CURLMBS.OptionUserAgent as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The user agent string to pass to the server.
Example
Var c As New CURLMBS

// setup request and any options you need
c.OptionURL = URL
c.OptionUserAgent = "MyDownloader 1.0"

It will be used to set the User-Agent: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with OptionHTTPHeader.

The Lasterror property is set. 0 for success.
You can set this value and later you can read it, but you cannot read the default value.
(Read and Write property)

See also USERAGENT option in CURL manual.

CURLMBS.OptionUsername as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The user name to be used in protocol authentication

In order to specify the password to be used in conjunction with the user name use the OptionPassword option
(Read and Write property)

See also USERNAME option in CURL manual.

CURLMBS.OptionUseSSL as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Request using SSL / TLS for the transfer.
Example
Var c as CURLMBS
c.OptionUseSSL = c.kFTPSSL_ALL
c.OptionSSLVersion = c.kSSLVersionTLSv12

Set to an integer using one of the values from below, to make libCURL use your desired level of SSL for the transfer.
These are all protocols that start out plain text and get "upgraded" to SSL using the STARTTLS command.
This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.

CURLUSESSL_NONE0Don't attempt to use SSL.
CURLUSESSL_TRY1Try using SSL, proceed as normal otherwise.
CURLUSESSL_CONTROL2Require SSL for the control connection or fail with CURLE_USE_SSL_FAILED.
CURLUSESSL_ALL3Require SSL for all communication or fail with CURLE_USE_SSL_FAILED.
(Read and Write property)

See also USE_SSL option in CURL manual.

CURLMBS.OptionVerbose as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Whether debug messages are sent to the DebugMessage event.

Default is false.
You need to subclass the CURLMBS class to add code in the DebugMessage event.
Or you set CollectDebugMessages = true and later query DebugMessages property.
Or you use CreateMTDebugOutputFile to stream them to a file.
(Read and Write property)

See also VERBOSE option in CURL manual.

CURLMBS.OptionWildCardMatch as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
Enable wildcard matching.

Set onoff to true if you want to transfer multiple files according to a file name pattern. The pattern can be specified as part of the OptionURL option, using an fnmatch-like pattern (Shell Pattern Matching) in the last part of URL (file name).

By default, libCURL uses its internal wildcard matching implementation. You can provide your own matching function by the CURLMBS.FileNameMatch event.

A brief introduction of its syntax follows:

  • - ASTERISK

ftp://example.com/some/path/*.txt (for all txt's from the root directory)

? - QUESTION MARK

Question mark matches any (exactly one) character.

ftp://example.com/some/path/photo?.jpeg

[ - BRACKET EXPRESSION

The left bracket opens a bracket expression. The question mark and asterisk have no special meaning in a bracket expression. Each bracket expression ends by the right bracket and matches exactly one character. Some examples follow:

[a-zA-Z0-9] or [f-gF-G] - character interval
[abc] - character enumeration
[^abc] or [!abc] - negation
[[:name:]] class expression. Supported classes are alnum,lower, space, alpha, digit, print, upper, blank, graph, xdigit.
[][-!^] - special case - matches only '-', ']', '[', '!' or '^'. These characters have no special purpose.
[\[\]\\] - escape syntax. Matches '[', ']' or '´.

Using the rules above, a file name pattern can be constructed:

ftp://example.com/some/path/[a-z[:upper:]\\].jpeg

This feature is only supported for FTP download. Not for SFTP or HTTP.
(Read and Write property)

See also WILDCARDMATCH option in CURL manual.

CURLMBS.OptionXOAuth2Bearer as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop, Console & Web
The XOAUTH2 bearer token.

(Read and Write property)

See also XOAUTH2_BEARER option in CURL manual.

Previous items Next items

The items on this page are in the following plugins: MBS CURL Plugin.


The biggest plugin in space...