197 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
                                  _   _ ____  _
 | 
						|
                              ___| | | |  _ \| |
 | 
						|
                             / __| | | | |_) | |
 | 
						|
                            | (__| |_| |  _ <| |___
 | 
						|
                             \___|\___/|_| \_\_____|
 | 
						|
 | 
						|
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
 | 
						|
 - socks5 support
 | 
						|
 - 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), GSS-Negotiate/Negotiate (*3) and
 | 
						|
   SPNEGO (*4) 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 referer 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)
 | 
						|
 | 
						|
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
 | 
						|
 - kerberos4 (*5)
 | 
						|
 - kerberos5 (*3)
 | 
						|
 - 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
 | 
						|
 | 
						|
SMTP
 | 
						|
 - authentication: Plain, Login, CRAM-MD5, Digest-MD5 and NTLM (*9)
 | 
						|
 - 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 and
 | 
						|
   NTLM (*9)
 | 
						|
 - 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 and
 | 
						|
   NTLM (*9)
 | 
						|
 - list the folders of a mailbox
 | 
						|
 - select a mailbox with support for verifing the UIDVALIDITY
 | 
						|
 - fetch e-mails with support for specifing 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, schannel (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
 | 
						|
  *4 = requires FBopenssl
 | 
						|
  *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
 | 
						|
       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
 |