136 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			3.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
 | |
| 
 | |
| libcurl supports
 | |
|  - 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
 | |
|  - "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
 | |
|  - persistant connections
 | |
|  - socks5 support
 | |
|  - supports user name + password in proxy environment variables
 | |
|  - operations through proxy "tunnel" (using CONNECT)
 | |
|  - supports large files (>2GB and >4GB) both upload/download
 | |
|  - replacable memory functions (malloc, free, realloc, etc)
 | |
|  - asynchronous name resolving (*6)
 | |
|  - both a push and a pull style interface
 | |
| 
 | |
| HTTP
 | |
|  - HTTP/1.1 compliant (optionally uses 1.0)
 | |
|  - GET
 | |
|  - PUT
 | |
|  - HEAD
 | |
|  - POST
 | |
|  - Pipelining
 | |
|  - multipart formpost (RFC1867-style)
 | |
|  - authentication: Basic, Digest, NTLM(*1), 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 for "uploads"
 | |
| 
 | |
| 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 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 TSL" 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
 | |
|  - "uploads"
 | |
|  - resume
 | |
| 
 | |
| FOOTNOTES
 | |
| =========
 | |
| 
 | |
|   *1 = requires OpenSSL, GnuTLS, NSS or yassl
 | |
|   *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 or NSS, as GnuTLS only supports SSLv3 and TLSv1
 | |
|   *8 = requires libssh2
 | 
