Xojo Conferences
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

Previous items

CURLSMBS.OptionTransferText as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: True tells the library to use ASCII mode for ftp transfers, instead of the default binary transfer.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUnixSocketPath as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 18.2 Yes Yes Yes Yes No
Function: Path to Unix domain socket.
Notes: (Read and Write property)

See also UNIX_SOCKET_PATH option in CURL manual.

Feedback, Comments & Corrections

CURLSMBS.OptionUnrestrictedAuth as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: A boolean parameter tells the library it can continue to send authentication (user+password) when following locations, even when hostname changed.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUpkeepIntervalMS as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 18.5 Yes Yes Yes Yes No
Function: Connection upkeep interval.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUpload as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: True tells the library to prepare for an upload.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUploadBufferSize as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 18.5 Yes Yes Yes Yes No
Function: Set preferred upload buffer size.
Notes:
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.
(Read and Write property)

See also UPLOAD_BUFFERSIZE option in CURL manual.

Feedback, Comments & Corrections

CURLSMBS.OptionURL as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: The actual URL to deal with.
Notes:
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.
(Read and Write property)

See also URL option in CURL manual.

Feedback, Comments & Corrections

CURLSMBS.OptionUserAgent as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: The user agent string to pass to the server.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUsername as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 10.0 Yes Yes Yes Yes No
Function: The user name to be used in protocol authentication
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionUseSSL as Integer
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Request using SSL / TLS for the transfer.
Notes:
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.

Feedback, Comments & Corrections

CURLSMBS.OptionVerbose as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: Whether debug messages are sent to the DebugMessage event.
Notes:
Default is false.
You need to subclass the CURLSMBS class to add code in the DebugMessage event.
Or you set CollectDebugData = true and later query DebugData property.
Or you use CreateMTDebugOutputFile to stream them to a file.
(Read and Write property)

See also VERBOSE option in CURL manual.

Feedback, Comments & Corrections

CURLSMBS.OptionWildCardMatch as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Enable wildcard matching.
Notes:
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

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.

Feedback, Comments & Corrections

CURLSMBS.OptionXOAuth2Bearer as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 18.2 Yes Yes Yes Yes No
Function: The XOAUTH2 bearer token.
Notes: (Read and Write property)

See also XOAUTH2_BEARER option in CURL manual.

Feedback, Comments & Corrections

CURLSMBS.OutputData as String
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 12.3 Yes Yes Yes Yes No
Function: The output data from CURL.
Notes:
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.
(Read only property)

Feedback, Comments & Corrections

CURLSMBS.Paused as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 18.2 Yes Yes Yes Yes No
Function: Whether transfer is paused.
Notes:
You can set it to true while transfer runs to pause it.
(Read and Write property)

Feedback, Comments & Corrections

CURLSMBS.ProgressDownloadCurrent as Int64
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Bytes downloaded so far.
Notes: (Read only property)

Feedback, Comments & Corrections

CURLSMBS.ProgressDownloadTotal as Int64
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Bytes to download in total.
Notes: (Read only property)

Feedback, Comments & Corrections

CURLSMBS.ProgressPercent as Double
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Current download/upload progress in percent.
Notes:
Range from 0 to 100.
(Read only property)

Feedback, Comments & Corrections

CURLSMBS.ProgressUploadCurrent as Int64
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Bytes uploaded so far.
Notes: (Read only property)

Feedback, Comments & Corrections

CURLSMBS.ProgressUploadTotal as Int64
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 15.2 Yes Yes Yes Yes No
Function: Bytes to upload in total.
Notes: (Read only property)

Feedback, Comments & Corrections

CURLSMBS.YieldTime as Boolean
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
property CURL MBS CURL Plugin 9.8 Yes Yes Yes Yes No
Function: Whether plugin should yield time.
Notes:
If set the plugin will yield time to Realbasic back so threads and timers work while you download.

Seems like in RB 2009 this property only has effect if you run CURL in a thread.
(Read and Write property)

Feedback, Comments & Corrections

Previous items

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




Links
MBS Xojo PDF Plugins