- redirectable stderr
- metalink support (*13)
-libcurl supports
+libcurl
- full URL syntax with no length limit
- custom maximum download time
- custom least download speed acceptable
- custom output result after completion
- guesses protocol from host name unless specified
- uses .netrc
- - progress bar/time specs while downloading
+ - progress bar with time statistics while downloading
- "standard" proxy environment variables support
- compiles on win32 (reported builds on 40+ operating systems)
- selectable network interface for outgoing traffic
- IPv6 support on unix and Windows
- persistent connections
- socks5 support
- - supports user name + password in proxy environment variables
+ - supports user name and password in proxy environment variables
- operations through proxy "tunnel" (using CONNECT)
- - supports large files (>2GB and >4GB) both upload/download
+ - support for large files (>2GB and >4GB) during upload and download
- replaceable memory functions (malloc, free, realloc, etc)
- asynchronous name resolving (*6)
- both a push and a pull style interface
- reads/writes the netscape cookie file format
- custom headers (replace/remove internally generated headers)
- custom user-agent string
- - custom referer string
+ - custom referrer string
- range
- proxy authentication
- time conditions
- via http-proxy
- retrieve file modification date
- Content-Encoding support for deflate and gzip
- - "Transfer-Encoding: chunked" support for "uploads"
+ - "Transfer-Encoding: chunked" support in uploads
- data compression (*12)
HTTPS (*1)
FTP
- download
- authentication
- - kerberos4 (*5), kerberos5 (*3)
+ - kerberos4 (*5)
+ - kerberos5 (*3)
- active/passive using PORT, EPRT, PASV or EPSV
- single file size information (compare to HTTP HEAD)
- 'type=' URL support
- with custom commands sent before/after the transfer
TFTP
- - download / upload
+ - download
+ - upload
TELNET
- connection negotiation
FILE
- URL support
- - "uploads"
+ - upload
- resume
SMTP
- authentication: Clear Text and SASL
- SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5 and
NTLM (*9)
- - list the content of a mailbox
- - select mailbox with support for verifing the UIDVALIDITY
- - fetch e-mails with support for specifing the UID and SECTION
+ - list the folders of a mailbox
+ - select a mailbox with support for verifying the UIDVALIDITY
+ - fetch e-mails with support for specifying the UID and SECTION
- upload e-mails via the append command
- - enhanced command support for: EXAMINE and STORE via custom requests
+ - enhanced command support for: EXAMINE, CREATE, DELETE, RENAME, STATUS,
+ STORE, COPY and UID via custom requests
- via http-proxy
IMAPS (*1)
FOOTNOTES
=========
- *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL, schannel (native
- Windows), Secure Transport (native iOS/OS X) or qssl (native IBM i)
+ *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL, WinSSL (native
+ Windows), Secure Transport (native iOS/OS X) or qssl (native IBM i)
*2 = requires OpenLDAP
- *3 = requires a GSSAPI-compliant library, such as Heimdal or similar.
+ *3 = requires a GSSAPI-compliant library, such as Heimdal or similar
*4 = requires FBopenssl
- *5 = requires a krb4 library, such as the MIT one or similar.
+ *5 = requires a krb4 library, such as the MIT one or similar
*6 = requires c-ares
- *7 = requires OpenSSL, NSS, qssl, schannel, or Secure Transport; GnuTLS, for
+ *7 = requires OpenSSL, NSS, qssl, WinSSL or Secure Transport; GnuTLS, for
example, only supports SSLv3 and TLSv1
*8 = requires libssh2
- *9 = requires OpenSSL, GnuTLS, NSS, yassl, Secure Transport, or SSPI (native
+ *9 = requires OpenSSL, GnuTLS, NSS, yassl, Secure Transport or SSPI (native
Windows)
*10 = requires any of the SSL libraries in (*1) above other than axTLS, which
does not support SSLv3