Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

Platforms to show: All Mac Windows Linux Cross-Platform

Previous items

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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 CURLNMBS 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)

Feedback, Comments & Corrections

CURLNMBS.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 CURLNMBS.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)

Feedback, Comments & Corrections

CURLNMBS.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

CURLNMBS.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

CURLNMBS.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

CURLNMBS.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

CURLNMBS.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

CURLNMBS.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

CURLNMBS.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 Plugins