Platforms to show: All Mac Windows Linux Cross-Platform
Back to CURLSMBS class.
CURLSMBS.OptionTCPKeepCount as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 25.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Sets the number of probes to send before dropping the connection. Not all operating systems support this option. (Added in curl 8.9.0)
The maximum value this option accepts is INT_MAX or whatever your system allows. Any larger value is capped to this amount.
Default is 9.
(Read and Write property)
CURLSMBS.OptionTCPKeepIdle as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 12.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Not all operating systems support this option. (Added in 7.25.0)
(Read and Write property)
See also TCP_KEEPIDLE option in CURL manual.
CURLSMBS.OptionTCPKeepInterval as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 12.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Not all operating systems support this option. (Added in 7.25.0)
(Read and Write property)
See also TCP_KEEPINTVL option in CURL manual.
CURLSMBS.OptionTCPNoDelay as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTFTPBlockSize as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 10.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTFTPNoOptions as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also TFTP_NO_OPTIONS option in CURL manual.
CURLSMBS.OptionTimeCondition as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTimeOut as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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)
Some examples using this property:
- /CURL/CURL WebSocket Test
- /CURL/CURLS pop3 email delete
- /CURL/FTP/CURLS ftp download to desktop
- /CURL/FTP/CURLS ftp download to desktop with thread
See also TIMEOUT option in CURL manual.
CURLSMBS.OptionTimeOutMS as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTimeValue as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTLS13Ciphers as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTLSAuthPassword as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 13.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTLSAuthType as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 13.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTLSAuthUsername as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 13.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTransferEncoding as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 13.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionTransferText as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionUnixSocketPath as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also UNIX_SOCKET_PATH option in CURL manual.
CURLSMBS.OptionUnrestrictedAuth as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionUpkeepIntervalMS as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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)
Some examples using this property:
See also UPKEEP_INTERVAL_MS option in CURL manual.
CURLSMBS.OptionUpload as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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)
Some examples using this property:
- /CURL/CURLS preemptive threaded upload
- /CURL/CURLS upload to Web App/CURLS upload to Web App
- /CURL/FTP/CURLS ftp file upload with progress
- /CURL/FTP/CURLS ftp file upload with thread
- /CURL/FTP/CURLS ftp file uploads
- /CURL/FTP/CURLS ftp secure upload
- /CURL/Send Email/older examples/CURLS send email
- /CURL/Send Email/older examples/CURLS send email with SSL
- /CURL/SFTP/CURLS sftp batch upload
- /CURL/SFTP/CURLS SFTP Client
See also UPLOAD option in CURL manual.
CURLSMBS.OptionUploadBufferSize as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.5 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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.
CURLSMBS.OptionUploadFlags as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 25.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
The current supported flags are Answered (1), which sets the Answered flag for IMAP uploads, Deleted (2), which sets the Deleted flag for IMAP uploads, Draft (4), which sets the Draft flag for IMAP uploads, Flagged (8), which sets the Flagged flag for IMAP uploads, and Seen (16), which sets the Seen flag for IMAP uploads.
See kUploadFlag* constants.
(Read and Write property)
See also UPLOAD_FLAGS option in CURL manual.
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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)
Some examples using this property:
- /CURL/CURLS LDAP Query
- /CURL/CURLS Low Level Sockets
- /CURL/CURLS query
- /CURL/FTP/CURLS ftp directory listing
- /CURL/FTP/CURLS ftp file upload resume
- /CURL/FTP/CURLS ftp file upload with progress
- /CURL/MQTT
- /CURL/SFTP/CURLS sftp directory listing
- /CURL/Upload resume
- /CURL/WebServices/CURL post Twilio Verification - iOS
See also URL option in CURL manual.
CURLSMBS.OptionUserAgent as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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)
Some examples using this property:
See also USERAGENT option in CURL manual.
CURLSMBS.OptionUsername as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 10.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
In order to specify the password to be used in conjunction with the user name use the OptionPassword option
(Read and Write property)
Some examples using this property:
- /CURL/CURLS LDAP Query
- /CURL/FTP/CURLS ftp directory listing with CURLFileInfoMBS
- /CURL/FTP/CURLS ftp download to desktop with thread
- /CURL/FTP/CURLS ftp secure upload
- /CURL/FTP/CURLS ftp upload
- /CURL/Google Mail/CURLS imap for google mail
- /CURL/SFTP/CURLS sftp batch download
- /CURL/SFTP/CURLS sftp directory listing
- /CURL/Upload resume
- /CURL/WebServices/CURL post Twilio Verification
See also USERNAME option in CURL manual.
CURLSMBS.OptionUseSSL as Integer
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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_NONE | 0 | Don't attempt to use SSL. |
| CURLUSESSL_TRY | 1 | Try using SSL, proceed as normal otherwise. |
| CURLUSESSL_CONTROL | 2 | Require SSL for the control connection or fail with CURLE_USE_SSL_FAILED. |
| CURLUSESSL_ALL | 3 | Require SSL for all communication or fail with CURLE_USE_SSL_FAILED. |
Some examples using this property:
- /CURL/CURLS pop3 email delete
- /CURL/FTP/CURLS ftp directory listing with CURLFileInfoMBS
- /CURL/FTP/CURLS ftp directory listing with wildcard
- /CURL/FTP/CURLS ftp secure upload
- /CURL/Receive Email/CURLS email client
- /CURL/Send Email/IMAP Upload
- /CURL/Send Email/MassEmailer
- /CURL/Send Email/older examples/CURLS send email with SSL
- /CURL/SFTP/CURLS SFTP Client
See also USE_SSL option in CURL manual.
CURLSMBS.OptionVerbose as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 9.8 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
Default is false.
You need to subclass the CURLSMBS 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)
Some examples using this property:
- /CURL/CURLS headers
- /CURL/CURLS post form/CURLS post form
- /CURL/CURLS text download web 2.0
- /CURL/FTP/CURLS ftp download to desktop
- /CURL/FTP/CURLS ftp download to desktop with thread
- /CURL/FTP/CURLS ftp file upload
- /CURL/FTP/CURLS ftp file upload direct
- /CURL/Receive Email/CURLS imap
- /CURL/SFTP/CURLS sftp directory listing
- /CURL/SFTP/CURLS sftp rename file batch
See also VERBOSE option in CURL manual.
CURLSMBS.OptionWildCardMatch as Boolean
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 15.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
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 CURLSMBS.FileNameMatch event.
A brief introduction of its syntax follows:
- - ASTERISK
? - 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)
Some examples using this property:
- /CURL/FTP/CURLS ftp directory listing with CURLFileInfoMBS
- /CURL/FTP/CURLS ftp directory listing with wildcard
See also WILDCARDMATCH option in CURL manual.
CURLSMBS.OptionXOAuth2Bearer as String
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 18.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
(Read and Write property)
See also XOAUTH2_BEARER option in CURL manual.
| Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
| property | CURL | MBS CURL Plugin | 12.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
If CollectOutputData property is true, the plugin puts the data received in write event also into this property, so you can grab it after the transfer. Use ClearData method to clear when reusing CURL object.
Limited to 2 GB. Please stream to file for bigger data with CreateMTOutputFile function.
(Read only property)
The items on this page are in the following plugins: MBS CURL Plugin.