_ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| FEATURES 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 - metalink support (*13) 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 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 - socks 4 + 5 support, with or without local name resolving - supports user name and password in proxy environment variables - operations through proxy "tunnel" (using CONNECT) - 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 - international domain names (*11) HTTP - HTTP/1.1 compliant (optionally uses 1.0) - GET - PUT - HEAD - POST - Pipelining - multipart formpost (RFC1867-style) - authentication: Basic, Digest, NTLM (*9) and Negotiate (SPNEGO) (*3) to server and proxy - resume (both GET and PUT) - follow redirects - maximum amount of redirects to follow - custom HTTP request - cookie get/send fully parsed - reads/writes the netscape cookie file format - custom headers (replace/remove internally generated headers) - custom user-agent 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 in uploads - data compression (*12) - HTTP/2 (*5) HTTPS (*1) - (all the HTTP features) - using client certificates - verify server certificate - via http-proxy - select desired encryption - force usage of a specific SSL version (SSLv2 (*7), SSLv3 (*10) or TLSv1) FTP - download - authentication - Kerberos 5 (*14) - active/passive using PORT, EPRT, PASV or EPSV - 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 - custom ftp commands (before and/or after the transfer) - simple "range" support - via http-proxy - all operations can be tunneled through a http-proxy - customizable to retrieve file modification date - no dir depth limit FTPS (*1) - implicit ftps:// support that use SSL on both connections - explicit "AUTH TLS" and "AUTH SSL" usage to "upgrade" plain ftp:// connection to use SSL for both or one of the connections SCP (*8) - both password and public key auth SFTP (*8) - both password and public key auth - with custom commands sent before/after the transfer TFTP - download - upload TELNET - connection negotiation - custom telnet options - stdin/stdout I/O LDAP (*2) - full LDAP URL support DICT - extended DICT URL support FILE - URL support - upload - resume SMB - SMBv1 over TCP and SSL - download - upload - authentication with NTLMv1 SMTP - authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5 (*4) and External. - send e-mails - 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 POP3 - authentication: Clear Text, APOP and SASL - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5 (*4) and External. - list e-mails - retrieve e-mails - enhanced command support for: CAPA, DELE, TOP, STAT, UIDL and NOOP via custom requests - via http-proxy POP3S (*1) - implicit pop3s:// support - explicit "STLS" usage to "upgrade" plain pop3:// connections to use SSL - via http-proxy IMAP - authentication: Clear Text and SASL - SASL based authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5 (*4) and External. - 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, CREATE, DELETE, RENAME, STATUS, STORE, COPY and UID via custom requests - via http-proxy IMAPS (*1) - implicit imaps:// support - explicit "STARTTLS" usage to "upgrade" plain imap:// connections to use SSL - via http-proxy FOOTNOTES ========= *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS, PolarSSL, WinSSL (native Windows), Secure Transport (native iOS/OS X) or GSKit (native IBM i) *2 = requires OpenLDAP *3 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos) or SSPI (native Windows) *4 = requires a GSS-API implementation, however, only Windows SSPI is currently supported *5 = requires nghttp2 and possibly a recent TLS library *6 = requires c-ares *7 = requires OpenSSL, NSS, GSKit, 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 Windows) *10 = requires any of the SSL libraries in (*1) above other than axTLS, which does not support SSLv3 *11 = requires libidn or Windows *12 = requires libz *13 = requires libmetalink, and either an Apple or Microsoft operating system, or OpenSSL, or GnuTLS, or NSS *14 = requires a GSS-API implementation (such as Heimdal or MIT Kerberos)