FEATURES 6.1 KB

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