A multi-platform C library that simplifies client-side URL transfers, it is basically the library version of cURL. It supports a number of protocols including DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. Amongst standard functions it supports there are SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and so on.
Unusually enough the project provides bindings for a number of other languages and toolkits including Ada95, Basic, C, C++, Ch, Cocoa, D, Dylan, Eiffel, Euphoria, Falcon, Ferite, Gambas, glib/GTK+, Guile, Haskell, ILE/RPG, Java, Lisp, Lua, Mono, .NET, node.js, Object-Pascal (Delphi), OCaml, Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx (As REXX/CURL), Ruby, Scheme, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro, Q, wxWidgets and XBLite.
It should be noted though that the existence of a binding for a language or tool does not automatically mean that you can use it as is, you preferred version of the tool may need some massaging before working as expected.
- Current version: 7.4.0
- Open source released under the libcURL License
- Daniel Stenberg (Original author)
- Paul Smedley (OS/2 port)