Platforms to show: All Mac Windows Linux Cross-Platform

Back to CURLSMBS class.

Previous items Next items

CURLSMBS.OptionProtocolsString as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The protocols allowed-
Example
Var c as new CURLSMBS
c.OptionProtocolsString = "http,tftp,sftp"

Pass a string that holds a comma-separated list of case insensitive protocol names (URL schemes) to allow in the transfer. This option allows applications to use libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default, libcurl accepts all protocols it was built with support for. See also OptionReditProtocolsString.

If trying to set a non-existing protocol or if no matching protocol at all is set, it returns error.

These are the available protocols:

DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP

You can set "ALL" as a short-cut to enable all protocols. Note that by setting all, you may enable protocols that were not supported the day you write this but are introduced in a future libcurl version.

CURLVersionMBS class can be used to get a list of all supported protocols in the current libcurl. GetInfoProtocol function is the recommended way to figure out the protocol used in a previous transfer.
(Read and Write property)

CURLSMBS.OptionProxy as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set HTTP proxy to use.
Example
// setup explicit proxy:

var c as new CURLSMBS
c.OptionProxy = "http://192.168.1.123"
c.OptionNoProxy = "localhost,192.168.0.0/16,.somename.com"

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 string holding the host name or dotted IP address. To specify port number in this string, append :[port] to the end of the host name. The proxy string may be prefixed with [protocol]:// since any such prefix will be ignored. The proxy's port number may optionally be specified with the separate option ProxyHost.

When you tell the library to use an HTTP proxy, libCURL will transparently convert operations to HTTP even if you specify an FTP URL etc. This may have an impact on what other features of the library you can use, such as CURLOPT_QUOTE and similar FTP specifics that don't work unless you tunnel through the HTTP proxy. Such tunneling is activated with HTTPProxyTunnel.

libCURL respects the environment variables http_proxy, ftp_proxy, all_proxy etc, if any of those is set. The Proxy option does however override any possibly set environment variables.

Starting with 7.14.1, the proxy host string given in environment variables can be specified the exact same way as the proxy can be set with Proxy, include protocol prefix (http://) and embedded user + password.

You can use WinHTTPClientMBS class on Windows or CFProxyMBS on Mac to discover system proxy settings.
(Read and Write property)

Some examples using this property:

See also PROXY option in CURL manual.

CURLSMBS.OptionProxyAuth as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Which proxy authentication to use.

Pass an integer as parameter, which is set to a bitmask, to tell libCURL what authentication method(s) you want it to use for your proxy authentication. If more than one bit is set, libCURL will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the ProxyUserPassword option. The bitmask can be constructed by or'ing together the bits listed above for the HTTPAuth option. As of this writing, only Basic, Digest and NTLM work. (Added in 7.10.7)

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 PROXYAUTH option in CURL manual.

CURLSMBS.OptionProxyCAInfo as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The CApath or CAfile used to validate the proxy certificate.
Example
// if you use SSL, maybe put in a certificate or disable verification?

Var d as CURLSMBS
// your CURL object

// disable
d.OptionProxySSLVerifyHost = 0
d.OptionProxySSLVerifyPeer = 0

// or better provide root certificates:

Var cacert As FolderItem = GetFolderItem("cacert.pem")
d.OptionProxyCAInfo = cacert.NativePath
d.OptionProxySSLVerifyHost = 2
d.OptionProxySSLVerifyPeer = 1

Pass native file path.
This option is used only if CURLSMBS.OptionProxySSLVerifyPeer is true
(Read and Write property)

See also PROXY_CAINFO option in CURL manual.

CURLSMBS.OptionProxyCAInfoBlob as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 21.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The CAInfo for proxy as blob value.

This option is for connecting to an HTTPS proxy, not an HTTPS server.
Certificate Authority (CA) bundle in PEM format passed PEM encoded content holding one or more certificates to verify the HTTPS server with.
(Read and Write property)

See also PROXY_CAINFO_BLOB option in CURL manual.

CURLSMBS.OptionProxyCAPath as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The CApath directory used to validate the proxy certificate.

Pass native file path.
This option is used only if CURLSMBS.OptionProxySSLVerifyPeer is true
(Read and Write property)

See also PROXY_CAPATH option in CURL manual.

CURLSMBS.OptionProxyCRLFile as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
CRL file for proxy.

Pass native file path.
(Read and Write property)

See also PROXY_CRLFILE option in CURL manual.

CURLSMBS.OptionProxyIssuerCert as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 20.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets the proxy issuer SSL certificate filename.

Pass a string naming a file holding a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer of the the HTTPS proxy is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one needs to enforce that the peer certificate is from a specific branch of the tree.

This option makes sense only when used in combination with the OptionProxySSLVerifyPeer option. Otherwise, the result of the check is not considered as failure.

A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (OptionProxySSLVerifyPeer has to be set too for the check to fail).
(Read and Write property)

See also PROXY_ISSUERCERT option in CURL manual.

CURLSMBS.OptionProxyIssuerCertBlob as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 20.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set proxy issuer SSL certificate from memory blob.

Pass data, which contains binary data of a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer of the the HTTPS proxy is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one needs to enforce that the peer certificate is from a specific branch of the tree.

This option should be used in combination with the OptionProxySSLVerifyPeer option. Otherwise, the result of the check is not considered as failure.

A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (OptionProxySSLVerifyPeer has to be set too for the check to fail).

This option is an alternative to OptionProxyIssuerCert which instead expects a file name as input.
(Read and Write property)

See also PROXY_ISSUERCERT_BLOB option in CURL manual.

CURLSMBS.OptionProxyKeyPassword as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Password for the SSL private key for proxy.

(Read and Write property)

See also PROXY_KEYPASSWD option in CURL manual.

CURLSMBS.OptionProxyPassword as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A string which should be pointing to the password to use for the transfer while connecting to Proxy.

The OptionProxyPassword option should be used in conjunction with the OptionProxyUsername option. (Added in 7.19.1)
(Read and Write property)

See also PROXYPASSWORD option in CURL manual.

CURLSMBS.OptionProxyPinnedPublicKey as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The public key in DER form used to validate the proxy public key.

This option is used only if CURLSMBS.OptionProxySSLVerifyPeer is true.
Please path native file path to key file.
(Read and Write property)

See also PROXY_PINNEDPUBLICKEY option in CURL manual.

CURLSMBS.OptionProxyPort as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The proxy port to connect to unless it is specified in the proxy string OptionProxy.

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.

You can use OptionProxy with port, e.g. "12.34.56.78:8080" or pass port here and proxy without port.
For some users it seems like the option with OptionProxy including port works better.
(Read and Write property)

See also PROXYPORT option in CURL manual.

CURLSMBS.OptionProxyServiceName as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Proxy Service Name.

(Read and Write property)

See also PROXY_SERVICE_NAME option in CURL manual.

CURLSMBS.OptionProxySSLCert as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Name of the file keeping your private SSL-certificate for proxy.

(Read and Write property)

See also PROXY_SSLCERT option in CURL manual.

CURLSMBS.OptionProxySSLCertBlob as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 20.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets private key for proxy cert from memory blob.

Pass data, which contains the private key for connecting to the HTTPS proxy. Compatible with OpenSSL. The format (like "PEM") must be specified with CURL.SetOptionProxySSLKeyType.
(Read and Write property)

See also PROXY_SSLCERT_BLOB option in CURL manual.

CURLSMBS.OptionProxySSLCertType as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Type of the file keeping your SSL-certificate for proxy.

Value can be "DER", "PEM" or "ENG".
(Read and Write property)

See also PROXY_SSLCERTTYPE option in CURL manual.

CURLSMBS.OptionProxySSLCipherList as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Specify which SSL ciphers to use for proxy.

(Read and Write property)

See also PROXY_SSL_CIPHER_LIST option in CURL manual.

CURLSMBS.OptionProxySSLKey as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Name of the file keeping your private SSL-key for proxy.

Pass native file path.
(Read and Write property)

See also PROXY_SSLKEY option in CURL manual.

CURLSMBS.OptionProxySSLKeyBlob as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 20.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set private key for proxy cert from memory blob.

Pass data, which contains a private key for connecting to the HTTPS proxy. Compatible with OpenSSL. The format (like "PEM") must be specified with OptionProxySSLKeyType.

This option is an alternative to OptionProxySSLKey which instead expects a file name as input.
(Read and Write property)

See also PROXY_SSLKEY_BLOB option in CURL manual.

CURLSMBS.OptionProxySSLKeyType as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets type of the file keeping your private SSL-key for proxy.

Value is DER, PEM or ENG.
(Read and Write property)

See also PROXY_SSLKEYTYPE option in CURL manual.

CURLSMBS.OptionProxySSLOptions as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Enable/disable specific SSL features with a bitmask for proxy.

(Read and Write property)

See also PROXY_SSL_OPTIONS option in CURL manual.

CURLSMBS.OptionProxySSLVerifyHost as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Enable SSL Host verification.
Example
// if you use SSL, maybe put in a certificate or disable verification?

Var d as CURLSMBS
// your CURL object

// disable
d.OptionProxySSLVerifyHost = 0
d.OptionProxySSLVerifyPeer = 0

// or better provide root certificates:

Var cacert As FolderItem = GetFolderItem("cacert.pem")
d.OptionProxyCAInfo = cacert.NativePath
d.OptionProxySSLVerifyHost = 2
d.OptionProxySSLVerifyPeer = 1

Set if we should verify the Common name from the proxy certificate in ssl handshake, set 1 to check existence, 2 to ensure that it matches the provided hostname.
(Read and Write property)

See also PROXY_SSL_VERIFYHOST option in CURL manual.

CURLSMBS.OptionProxySSLVerifyPeer as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set if we should verify the proxy in ssl handshake.
Example
// if you use SSL, maybe put in a certificate or disable verification?

Var d as CURLSMBS
// your CURL object

// disable
d.OptionProxySSLVerifyHost = 0
d.OptionProxySSLVerifyPeer = 0

// or better provide root certificates:

Var cacert As FolderItem = GetFolderItem("cacert.pem")
d.OptionProxyCAInfo = cacert.NativePath
d.OptionProxySSLVerifyHost = 2
d.OptionProxySSLVerifyPeer = 1

set 1 to verify.
(Read and Write property)

See also PROXY_SSL_VERIFYPEER option in CURL manual.

CURLSMBS.OptionProxySSLVersion as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
What version to specifically try to use for proxy.

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 PROXY_SSLVERSION option in CURL manual.

CURLSMBS.OptionProxyTLS13Ciphers as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Specify which TLS 1.3 ciphers suites to use for proxy.

The list of cipher suites to use for the TLS 1.3 connection to a proxy. 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 PROXY_TLS13_CIPHERS option in CURL manual.

CURLSMBS.OptionProxyTLSAuthPassword as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used.
Password for authenticated TLS for proxy.

(Read and Write property)

CURLSMBS.OptionProxyTLSAuthType as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used.
Set authentication type for authenticated TLS for proxy

(Read and Write property)

CURLSMBS.OptionProxyTLSAuthUsername as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used.
Set a username for authenticated TLS for proxy.

(Read and Write property)

CURLSMBS.OptionProxyTransferMode as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
If this integer value is set to 1 (one), it tells libCURL to set the transfer mode (binary or ASCII) for FTP transfers done via an HTTP proxy, by appending ;type=a or ;type=i to the URL.

Without this setting, or it being set to 0 (zero, the default), OptionTransferText has no effect when doing FTP via a proxy. Beware that not all proxies support this feature. (Added in 7.18.0)
(Read and Write property)

See also PROXY_TRANSFER_MODE option in CURL manual.

CURLSMBS.OptionProxyType as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This option is to set type of the proxy.

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.

Available options for this are kPROXY_HTTP, kPROXY_SOCKS4 (added in 7.15.2) kPROXY_SOCKS5. The HTTP type is default.
(Read and Write property)

See also PROXYTYPE option in CURL manual.

CURLSMBS.OptionProxyUsername as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A string, which should be pointing to the user name to use for the transfer while connecting to Proxy.

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

See also PROXYUSERNAME option in CURL manual.

CURLSMBS.OptionPut as Boolean   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use OptionUpload instead.
A non-zero parameter tells the library to use HTTP PUT to transfer data.

The data should be set with OptionInFileSize.

This option is deprecated and starting with version 7.12.1 you should instead use OptionUpload.

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)

CURLSMBS.OptionQuickExit as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether to allow to exit quickly.

Pass a number as a parameter, 1 meaning that when recovering from a timeout, libcurl should skip lengthy cleanups that are intended to avoid all kinds of leaks (threads etc.), as the caller program is about to call exit() anyway. This allows for a swift termination after a DNS timeout for example, by canceling and/or forgetting about a resolver thread, at the expense of a possible (though short-lived) leak of associated resources.
(Read and Write property)

See also QUICK_EXIT option in CURL manual.

CURLSMBS.OptionRandomFile as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used.
A file name for the random file.

The file will be used to read from to seed the random engine for SSL. The more random the specified file is, the more secure the SSL connection will become.

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.

Starting with version 18.0 the plugin will always use UTF-8 encoding for file path on Linux and macOS. For macOS we also do the unicode character normalization for file names for you.
(Read and Write property)

CURLSMBS.OptionRange as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A string which should contain the specified range you want.

It should be in the format "X-Y", where X or Y may be left out. HTTP transfers also support several intervals, separated with commas as in "X-Y,N-M". Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Pass a NULL to this option to disable the use of ranges.

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 RANGE option in CURL manual.

CURLSMBS.OptionRedirProtocols as Integer   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 10.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use OptionRedirProtocolsString instead.
An integer that holds a bitmask of kProtocol* constants.

If used, this bitmask limits what protocols libCURL may use in a transfer that it follows to in a redirect when OptionFollowLocation is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections. By default libCURL will allow all protocols except for FILE and SCP. This is a difference compared to pre-7.19.4 versions which unconditionally would follow to all protocols supported. (Added in 7.19.4)
(Read and Write property)

CURLSMBS.OptionReditProtocolsString as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 22.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The protocols allowed to redirect to.
Example
Var c as new CURLSMBS
c.OptionReditProtocolsString = "http,https"

Pass string that holds a comma-separated list of case insensitive protocol names (URL schemes). That list limits what protocols libcurl may use in a transfer that it follows to in a redirect when OptionFollowLocation is enabled. This option allows applications to limit specific transfers to only be allowed to use a subset of protocols in redirections.

Protocols denied by OptionProtocolsString are not overridden by this option.

By default libcurl will allow HTTP, HTTPS, FTP and FTPS on redirects (since 7.65.2). Older versions of libcurl allowed all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled.

These are the available protocols:

DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP

You can set "ALL" as a short-cut to enable all protocols. Note that by setting all, you may enable protocols that were not supported the day you write this but are introduced in a future libcurl version.

If trying to set a non-existing protocol or if no matching protocol at all is set, it returns error.

Default

HTTP, HTTPS, FTP and FTPS (Added in 7.65.2).

Older versions defaulted to all protocols except FILE, SCP and since 7.40.0 SMB and SMBS.
(Read and Write property)

CURLSMBS.OptionReferer as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The referer to pass to the server.

It will be used to set the Referer: 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 REFERER option in CURL manual.

CURLSMBS.OptionRequestTarget as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The request target, instead of extracted from the URL.

(Read and Write property)

See also REQUEST_TARGET option in CURL manual.

CURLSMBS.OptionResumeFrom as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
It contains the offset in number of bytes that you want the transfer to start from.

Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).

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)

Some examples using this property:

See also RESUME_FROM option in CURL manual.

CURLSMBS.OptionResumeFromLarge as Int64   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use OptionResumeFrom instead.
It contains the offset in number of bytes that you want the transfer to start from.

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)

CURLSMBS.OptionRTSPClientCSEQ as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Manually initialize the client RTSP CSeq for this handle.

(Read and Write property)

See also RTSP_CLIENT_CSEQ option in CURL manual.

CURLSMBS.OptionRTSPRequest as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
RTSP request method (OPTIONS, SETUP, PLAY, etc...).

(Read and Write property)

See also RTSP_REQUEST 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...