2010-02-15 03:40:18 +08:00
|
|
|
_ _ ____ _
|
|
|
|
___| | | | _ \| |
|
|
|
|
/ __| | | | |_) | |
|
|
|
|
| (__| |_| | _ <| |___
|
2000-05-23 01:35:35 +08:00
|
|
|
\___|\___/|_| \_\_____|
|
|
|
|
|
|
|
|
FEATURES
|
|
|
|
|
2004-08-12 22:08:46 +08:00
|
|
|
curl tool
|
|
|
|
- config file support
|
|
|
|
- multiple URLs in a single command line
|
|
|
|
- range "globbing" support: [0-13], {one,two,three}
|
|
|
|
- multiple file upload on a single command line
|
|
|
|
- custom maximum transfer rate
|
|
|
|
- redirectable stderr
|
2013-02-20 10:15:32 +08:00
|
|
|
- metalink support (*13)
|
2004-08-12 22:08:46 +08:00
|
|
|
|
2013-03-19 06:43:16 +08:00
|
|
|
libcurl
|
2004-08-12 22:08:46 +08:00
|
|
|
- full URL syntax with no length limit
|
2000-05-23 01:35:35 +08:00
|
|
|
- custom maximum download time
|
|
|
|
- custom least download speed acceptable
|
|
|
|
- custom output result after completion
|
|
|
|
- guesses protocol from host name unless specified
|
|
|
|
- uses .netrc
|
2013-03-19 06:43:16 +08:00
|
|
|
- progress bar with time statistics while downloading
|
2000-12-11 23:35:57 +08:00
|
|
|
- "standard" proxy environment variables support
|
2003-06-26 19:36:32 +08:00
|
|
|
- compiles on win32 (reported builds on 40+ operating systems)
|
|
|
|
- selectable network interface for outgoing traffic
|
2004-08-12 22:08:46 +08:00
|
|
|
- IPv6 support on unix and Windows
|
2012-07-21 03:02:58 +08:00
|
|
|
- persistent connections
|
2014-08-01 15:00:06 +08:00
|
|
|
- socks 4 + 5 support, with or without local name resolving
|
2013-03-19 06:43:16 +08:00
|
|
|
- supports user name and password in proxy environment variables
|
2003-06-26 19:36:32 +08:00
|
|
|
- operations through proxy "tunnel" (using CONNECT)
|
2013-03-19 06:43:16 +08:00
|
|
|
- support for large files (>2GB and >4GB) during upload and download
|
2012-07-21 03:02:58 +08:00
|
|
|
- replaceable memory functions (malloc, free, realloc, etc)
|
2004-08-12 22:08:46 +08:00
|
|
|
- asynchronous name resolving (*6)
|
2007-05-26 05:20:39 +08:00
|
|
|
- both a push and a pull style interface
|
2013-02-07 01:34:53 +08:00
|
|
|
- international domain names (*11)
|
2000-05-23 01:35:35 +08:00
|
|
|
|
|
|
|
HTTP
|
2003-06-26 19:36:32 +08:00
|
|
|
- HTTP/1.1 compliant (optionally uses 1.0)
|
2000-05-23 01:35:35 +08:00
|
|
|
- GET
|
|
|
|
- PUT
|
|
|
|
- HEAD
|
|
|
|
- POST
|
2007-05-26 05:20:39 +08:00
|
|
|
- Pipelining
|
2003-06-26 19:36:32 +08:00
|
|
|
- multipart formpost (RFC1867-style)
|
2014-08-02 20:51:18 +08:00
|
|
|
- authentication: Basic, Digest, NTLM (*9) and Negotiate (SPNEGO) (*3)
|
|
|
|
to server and proxy
|
2001-02-21 01:35:51 +08:00
|
|
|
- resume (both GET and PUT)
|
2000-05-23 01:35:35 +08:00
|
|
|
- follow redirects
|
2000-12-11 23:35:57 +08:00
|
|
|
- maximum amount of redirects to follow
|
2000-05-23 01:35:35 +08:00
|
|
|
- custom HTTP request
|
2000-12-11 23:35:57 +08:00
|
|
|
- cookie get/send fully parsed
|
2003-05-28 18:24:20 +08:00
|
|
|
- reads/writes the netscape cookie file format
|
2003-06-26 19:36:32 +08:00
|
|
|
- custom headers (replace/remove internally generated headers)
|
2000-05-23 01:35:35 +08:00
|
|
|
- custom user-agent string
|
2014-03-13 11:48:38 +08:00
|
|
|
- custom referrer string
|
2000-05-23 01:35:35 +08:00
|
|
|
- range
|
|
|
|
- proxy authentication
|
|
|
|
- time conditions
|
|
|
|
- via http-proxy
|
2000-12-11 23:35:57 +08:00
|
|
|
- retrieve file modification date
|
2003-05-28 18:24:20 +08:00
|
|
|
- Content-Encoding support for deflate and gzip
|
2013-03-19 06:43:16 +08:00
|
|
|
- "Transfer-Encoding: chunked" support in uploads
|
2013-02-07 01:34:53 +08:00
|
|
|
- data compression (*12)
|
2014-09-11 05:02:38 +08:00
|
|
|
- HTTP/2 (*5)
|
2000-05-23 01:35:35 +08:00
|
|
|
|
|
|
|
HTTPS (*1)
|
|
|
|
- (all the HTTP features)
|
2005-05-18 18:14:25 +08:00
|
|
|
- using client certificates
|
2000-12-11 23:35:57 +08:00
|
|
|
- verify server certificate
|
2000-05-23 01:35:35 +08:00
|
|
|
- via http-proxy
|
2003-05-28 18:24:20 +08:00
|
|
|
- select desired encryption
|
2013-02-07 01:34:53 +08:00
|
|
|
- force usage of a specific SSL version (SSLv2 (*7), SSLv3 (*10) or TLSv1)
|
2000-05-23 01:35:35 +08:00
|
|
|
|
|
|
|
FTP
|
|
|
|
- download
|
|
|
|
- authentication
|
2014-08-02 20:51:18 +08:00
|
|
|
- Kerberos 5 (*14)
|
2001-12-03 18:07:49 +08:00
|
|
|
- active/passive using PORT, EPRT, PASV or EPSV
|
2000-05-23 01:35:35 +08:00
|
|
|
- single file size information (compare to HTTP HEAD)
|
|
|
|
- 'type=' URL support
|
|
|
|
- dir listing
|
|
|
|
- dir listing names-only
|
|
|
|
- upload
|
|
|
|
- upload append
|
|
|
|
- upload via http-proxy as HTTP PUT
|
|
|
|
- download resume
|
|
|
|
- upload resume
|
2000-08-01 06:42:34 +08:00
|
|
|
- custom ftp commands (before and/or after the transfer)
|
2000-05-23 01:35:35 +08:00
|
|
|
- simple "range" support
|
|
|
|
- via http-proxy
|
2000-09-15 21:20:34 +08:00
|
|
|
- all operations can be tunneled through a http-proxy
|
2000-12-11 23:35:57 +08:00
|
|
|
- customizable to retrieve file modification date
|
2004-08-12 22:08:46 +08:00
|
|
|
- no dir depth limit
|
2000-05-23 01:35:35 +08:00
|
|
|
|
2004-01-07 22:50:11 +08:00
|
|
|
FTPS (*1)
|
2006-05-28 19:28:40 +08:00
|
|
|
- implicit ftps:// support that use SSL on both connections
|
2013-02-07 01:34:53 +08:00
|
|
|
- explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain ftp://
|
2004-01-07 22:50:11 +08:00
|
|
|
connection to use SSL for both or one of the connections
|
|
|
|
|
2007-05-26 05:20:39 +08:00
|
|
|
SCP (*8)
|
|
|
|
- both password and public key auth
|
|
|
|
|
|
|
|
SFTP (*8)
|
|
|
|
- both password and public key auth
|
|
|
|
- with custom commands sent before/after the transfer
|
|
|
|
|
2005-11-17 22:28:58 +08:00
|
|
|
TFTP
|
2013-03-19 06:43:16 +08:00
|
|
|
- download
|
|
|
|
- upload
|
2005-11-17 22:28:58 +08:00
|
|
|
|
2000-05-23 01:35:35 +08:00
|
|
|
TELNET
|
|
|
|
- connection negotiation
|
2001-03-12 17:44:08 +08:00
|
|
|
- custom telnet options
|
2000-05-23 01:35:35 +08:00
|
|
|
- stdin/stdout I/O
|
|
|
|
|
|
|
|
LDAP (*2)
|
|
|
|
- full LDAP URL support
|
|
|
|
|
|
|
|
DICT
|
|
|
|
- extended DICT URL support
|
|
|
|
|
|
|
|
FILE
|
|
|
|
- URL support
|
2013-03-19 06:43:16 +08:00
|
|
|
- upload
|
2004-08-12 22:08:46 +08:00
|
|
|
- resume
|
2000-05-23 01:35:35 +08:00
|
|
|
|
2014-12-01 05:51:26 +08:00
|
|
|
SMB
|
|
|
|
- SMBv1 over TCP and SSL
|
|
|
|
- download
|
|
|
|
- upload
|
|
|
|
- authentication with NTLMv1
|
|
|
|
|
2013-02-06 08:28:50 +08:00
|
|
|
SMTP
|
2015-01-28 02:10:18 +08:00
|
|
|
- authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5
|
|
|
|
(*4) and External.
|
2013-03-07 19:03:16 +08:00
|
|
|
- send e-mails
|
2013-02-06 08:28:50 +08:00
|
|
|
- mail from support
|
|
|
|
- mail size support
|
|
|
|
- mail auth support for trusted server-to-server relaying
|
|
|
|
- multiple recipients
|
|
|
|
- via http-proxy
|
|
|
|
|
|
|
|
SMTPS (*1)
|
|
|
|
- implicit smtps:// support
|
|
|
|
- explicit "STARTTLS" usage to "upgrade" plain smtp:// connections to use SSL
|
|
|
|
- via http-proxy
|
2013-02-06 17:29:50 +08:00
|
|
|
|
2013-02-06 08:28:50 +08:00
|
|
|
POP3
|
|
|
|
- authentication: Clear Text, APOP and SASL
|
2015-01-28 02:10:18 +08:00
|
|
|
- SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9),
|
|
|
|
Kerberos 5 (*4) and External.
|
2013-02-06 08:28:50 +08:00
|
|
|
- list e-mails
|
|
|
|
- retrieve e-mails
|
2013-03-07 19:03:16 +08:00
|
|
|
- enhanced command support for: CAPA, DELE, TOP, STAT, UIDL and NOOP via
|
|
|
|
custom requests
|
2013-02-06 08:28:50 +08:00
|
|
|
- via http-proxy
|
|
|
|
|
|
|
|
POP3S (*1)
|
|
|
|
- implicit pop3s:// support
|
|
|
|
- explicit "STLS" usage to "upgrade" plain pop3:// connections to use SSL
|
|
|
|
- via http-proxy
|
2013-02-06 17:29:50 +08:00
|
|
|
|
2013-02-06 08:28:50 +08:00
|
|
|
IMAP
|
|
|
|
- authentication: Clear Text and SASL
|
2015-01-28 02:10:18 +08:00
|
|
|
- SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9),
|
|
|
|
Kerberos 5 (*4) and External.
|
2013-03-08 02:31:48 +08:00
|
|
|
- list the folders of a mailbox
|
2014-03-13 11:48:38 +08:00
|
|
|
- select a mailbox with support for verifying the UIDVALIDITY
|
|
|
|
- fetch e-mails with support for specifying the UID and SECTION
|
2013-03-07 19:03:16 +08:00
|
|
|
- upload e-mails via the append command
|
2013-03-16 19:42:17 +08:00
|
|
|
- enhanced command support for: EXAMINE, CREATE, DELETE, RENAME, STATUS,
|
2013-03-19 06:43:16 +08:00
|
|
|
STORE, COPY and UID via custom requests
|
2013-02-06 08:28:50 +08:00
|
|
|
- via http-proxy
|
|
|
|
|
|
|
|
IMAPS (*1)
|
|
|
|
- implicit imaps:// support
|
|
|
|
- explicit "STARTTLS" usage to "upgrade" plain imap:// connections to use SSL
|
|
|
|
- via http-proxy
|
|
|
|
|
2020-04-14 17:19:12 +08:00
|
|
|
MQTT
|
|
|
|
- Subscribe to and publish topics using url scheme mqtt://broker/topic
|
|
|
|
|
2003-09-19 20:55:35 +08:00
|
|
|
FOOTNOTES
|
|
|
|
=========
|
|
|
|
|
2018-10-30 17:00:00 +08:00
|
|
|
*1 = requires a TLS library
|
2017-05-24 06:03:29 +08:00
|
|
|
*2 = requires OpenLDAP or WinLDAP
|
2014-08-02 20:51:18 +08:00
|
|
|
*3 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos) or
|
|
|
|
SSPI (native Windows)
|
2014-09-11 05:02:38 +08:00
|
|
|
*4 = requires a GSS-API implementation, however, only Windows SSPI is
|
|
|
|
currently supported
|
|
|
|
*5 = requires nghttp2 and possibly a recent TLS library
|
2004-08-12 22:08:46 +08:00
|
|
|
*6 = requires c-ares
|
2014-10-13 22:33:47 +08:00
|
|
|
*7 = requires OpenSSL, NSS, GSKit, WinSSL or Secure Transport; GnuTLS, for
|
2013-02-07 01:34:53 +08:00
|
|
|
example, only supports SSLv3 and TLSv1
|
2007-05-26 05:20:39 +08:00
|
|
|
*8 = requires libssh2
|
2016-07-07 23:40:45 +08:00
|
|
|
*9 = requires OpenSSL, GnuTLS, mbedTLS, NSS, yassl, Secure Transport or SSPI
|
|
|
|
(native Windows)
|
2018-10-30 17:00:00 +08:00
|
|
|
*10 = requires an SSL library that supports SSLv3
|
2013-02-07 01:34:53 +08:00
|
|
|
*11 = requires libidn or Windows
|
|
|
|
*12 = requires libz
|
2013-02-20 10:15:32 +08:00
|
|
|
*13 = requires libmetalink, and either an Apple or Microsoft operating
|
|
|
|
system, or OpenSSL, or GnuTLS, or NSS
|
2014-08-02 20:51:18 +08:00
|
|
|
*14 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos)
|