1 _ _ ____ _ 2 ___| | | | _ \| | 3 / __| | | | |_) | | 4 | (__| |_| | _ <| |___ 5 \___|\___/|_| \_\_____| 6 7FEATURES 8 9curl tool 10 - config file support 11 - multiple URLs in a single command line 12 - range "globbing" support: [0-13], {one,two,three} 13 - multiple file upload on a single command line 14 - custom maximum transfer rate 15 - redirectable stderr 16 - metalink support (*13) 17 18libcurl 19 - full URL syntax with no length limit 20 - custom maximum download time 21 - custom least download speed acceptable 22 - custom output result after completion 23 - guesses protocol from host name unless specified 24 - uses .netrc 25 - progress bar with time statistics while downloading 26 - "standard" proxy environment variables support 27 - compiles on win32 (reported builds on 40+ operating systems) 28 - selectable network interface for outgoing traffic 29 - IPv6 support on unix and Windows 30 - persistent connections 31 - socks5 support 32 - supports user name and password in proxy environment variables 33 - operations through proxy "tunnel" (using CONNECT) 34 - support for large files (>2GB and >4GB) during upload and download 35 - replaceable memory functions (malloc, free, realloc, etc) 36 - asynchronous name resolving (*6) 37 - both a push and a pull style interface 38 - international domain names (*11) 39 40HTTP 41 - HTTP/1.1 compliant (optionally uses 1.0) 42 - GET 43 - PUT 44 - HEAD 45 - POST 46 - Pipelining 47 - multipart formpost (RFC1867-style) 48 - authentication: Basic, Digest, NTLM (*9), GSS-Negotiate/Negotiate (*3) and 49 SPNEGO (*4) to server and proxy 50 - resume (both GET and PUT) 51 - follow redirects 52 - maximum amount of redirects to follow 53 - custom HTTP request 54 - cookie get/send fully parsed 55 - reads/writes the netscape cookie file format 56 - custom headers (replace/remove internally generated headers) 57 - custom user-agent string 58 - custom referrer string 59 - range 60 - proxy authentication 61 - time conditions 62 - via http-proxy 63 - retrieve file modification date 64 - Content-Encoding support for deflate and gzip 65 - "Transfer-Encoding: chunked" support in uploads 66 - data compression (*12) 67 68HTTPS (*1) 69 - (all the HTTP features) 70 - using client certificates 71 - verify server certificate 72 - via http-proxy 73 - select desired encryption 74 - force usage of a specific SSL version (SSLv2 (*7), SSLv3 (*10) or TLSv1) 75 76FTP 77 - download 78 - authentication 79 - kerberos4 (*5) 80 - kerberos5 (*3) 81 - active/passive using PORT, EPRT, PASV or EPSV 82 - single file size information (compare to HTTP HEAD) 83 - 'type=' URL support 84 - dir listing 85 - dir listing names-only 86 - upload 87 - upload append 88 - upload via http-proxy as HTTP PUT 89 - download resume 90 - upload resume 91 - custom ftp commands (before and/or after the transfer) 92 - simple "range" support 93 - via http-proxy 94 - all operations can be tunneled through a http-proxy 95 - customizable to retrieve file modification date 96 - no dir depth limit 97 98FTPS (*1) 99 - implicit ftps:// support that use SSL on both connections 100 - explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain ftp:// 101 connection to use SSL for both or one of the connections 102 103SCP (*8) 104 - both password and public key auth 105 106SFTP (*8) 107 - both password and public key auth 108 - with custom commands sent before/after the transfer 109 110TFTP 111 - download 112 - upload 113 114TELNET 115 - connection negotiation 116 - custom telnet options 117 - stdin/stdout I/O 118 119LDAP (*2) 120 - full LDAP URL support 121 122DICT 123 - extended DICT URL support 124 125FILE 126 - URL support 127 - upload 128 - resume 129 130SMTP 131 - authentication: Plain, Login, CRAM-MD5, Digest-MD5 and NTLM (*9) 132 - send e-mails 133 - mail from support 134 - mail size support 135 - mail auth support for trusted server-to-server relaying 136 - multiple recipients 137 - via http-proxy 138 139SMTPS (*1) 140 - implicit smtps:// support 141 - explicit "STARTTLS" usage to "upgrade" plain smtp:// connections to use SSL 142 - via http-proxy 143 144POP3 145 - authentication: Clear Text, APOP and SASL 146 - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5 and 147 NTLM (*9) 148 - list e-mails 149 - retrieve e-mails 150 - enhanced command support for: CAPA, DELE, TOP, STAT, UIDL and NOOP via 151 custom requests 152 - via http-proxy 153 154POP3S (*1) 155 - implicit pop3s:// support 156 - explicit "STLS" usage to "upgrade" plain pop3:// connections to use SSL 157 - via http-proxy 158 159IMAP 160 - authentication: Clear Text and SASL 161 - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5 and 162 NTLM (*9) 163 - list the folders of a mailbox 164 - select a mailbox with support for verifying the UIDVALIDITY 165 - fetch e-mails with support for specifying the UID and SECTION 166 - upload e-mails via the append command 167 - enhanced command support for: EXAMINE, CREATE, DELETE, RENAME, STATUS, 168 STORE, COPY and UID via custom requests 169 - via http-proxy 170 171IMAPS (*1) 172 - implicit imaps:// support 173 - explicit "STARTTLS" usage to "upgrade" plain imap:// connections to use SSL 174 - via http-proxy 175 176FOOTNOTES 177========= 178 179 *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL, WinSSL (native 180 Windows), Secure Transport (native iOS/OS X) or qssl (native IBM i) 181 *2 = requires OpenLDAP 182 *3 = requires a GSSAPI-compliant library, such as Heimdal or similar 183 *4 = requires FBopenssl 184 *5 = requires a krb4 library, such as the MIT one or similar 185 *6 = requires c-ares 186 *7 = requires OpenSSL, NSS, qssl, WinSSL or Secure Transport; GnuTLS, for 187 example, only supports SSLv3 and TLSv1 188 *8 = requires libssh2 189 *9 = requires OpenSSL, GnuTLS, NSS, yassl, Secure Transport or SSPI (native 190 Windows) 191 *10 = requires any of the SSL libraries in (*1) above other than axTLS, which 192 does not support SSLv3 193 *11 = requires libidn or Windows 194 *12 = requires libz 195 *13 = requires libmetalink, and either an Apple or Microsoft operating 196 system, or OpenSSL, or GnuTLS, or NSS 197