Platforms to show: All Mac Windows Linux Cross-Platform

CURLSMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A class to wrap libCURL.
Example
Var d As New CURLSMBS

// download here
d.OptionURL = URL

// if you use SSL, maybe put in a certificate or disable verification?
d.OptionSSLVerifyHost = 0
d.OptionSSLVerifyPeer = 0

// run download
Var e as integer = d.Perform

// check result
Var data As String = d.OutputData
Var DebugMessage As String = d.DebugMessages // check in debugger on error

ResultText.text="Result: "+str(e) // 0 = Okay, others are error codes, so check debug messsages

We have three variants:

CURLS* classes include a static CURL library with SSL and SSH.
CURLN* classes include a static CURL library with native SSL on Mac and Windows.
CURL* classes without S need you to supply your own CURL library.

All variants can load a custom CURL library or use the one from the system on Mac and Linux.
If no library is loaded or included, the plugin will try to load the system one in constructor.

from the website libCURL website:
https://curl.haxx.se/libcurl/

libCURL is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE and LDAP. libCURL supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more!

libCURL is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...

libCURL is free, thread-safe, IPv6 compatible, feature rich, well supported, fast, thoroughly documented and is already used by many known, big and successful companies and numerous applications.

On Linux you may need to install libraries like ldap: apt-get install libldap-2.4.2:i386

This class has no sub classes.

Blog Entries

Xojo Developer Magazine

Videos

Release notes

  • Version 25.3
    • Added OptionSSLSignatureAlgorithms property to CURLSMBS class.
    • Added kWebSocketNoAutoPong constant to CURLSMBS class.
  • Version 25.2
    • Added OptionTCPKeepCount and OptionUploadFlags properties for CURLSMBS class and related constants.
    • Changed OptionFollowLocation property in CURLSMBS class to be integer instead of boolean since you can now use flags there to specify the behavior.
  • Version 25.1
    • Implemented keep alive for MQTT feature in CURLSMBS class. Use OptionUpkeepIntervalMS property to enable.
  • Version 25.0
    • Added GetInfoEarlyDataSent method for CURLSMBS class.
    • Added kSSLOptionEarlyData constant for CURLSMBS class.
    • Removed kError_FUNCTION_NOT_FOUND and kError_HTTP_POST_ERROR constants for CURLSMBS class since they are obsolete.
  • Version 24.4
    • Added DecodeIMAPFolderName functions to CURLSMBS class to help decoding IMAP folder names.
    • Added kSSLVersionMax* constants for CURLSMBS class.
    • Improved CURLSMultiMBS class to clear cancel flag for CURLSMBS objects.
  • Version 24.2
    • Build CURLSMBS class with openssl, SecureChannel for Windows and SecureTransport for macOS, so you can decide which one to use.
    • Improved progress reporting for CURLSMBS class.
  • Version 24.0
    • Fixed OpenMTInputFile method in CURLSMBS class to remove InputData first.
    • Fixed SetupAWS and SetupOAuth in CURLSMBS class to reset NoBody flag if new transfer is not head.
  • Version 23.4
    • Added ProcessRelativeURL method to CURLSMBS class.
  • Version 23.3

Some methods using this class:

Some properties using for this class:

Some events using this class:

Some examples using this class:

Some related classes:


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


CURLSListMBS   -   CURLSMimePartMBS


The biggest plugin in space...