aboutsummaryrefslogtreecommitdiff
path: root/docs/FEATURES
blob: 261b37aab6fbc0e8c1290253022b273add82c94e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

FEATURES

Misc
 - full URL syntax
 - custom maximum download time
 - custom least download speed acceptable
 - custom output result after completion
 - multiple URLs
 - guesses protocol from host name unless specified
 - uses .netrc
 - progress bar/time specs while downloading
 - "standard" proxy environment variables support
 - config file support
 - compiles on win32 (reported builds on 40+ operating systems)
 - redirectable stderr
 - selectable network interface for outgoing traffic
 - IPv6 support
 - persistant connections
 - socks5 support
 - supports user name + password in proxy environment variables
 - operations through proxy "tunnel" (using CONNECT)

HTTP
 - HTTP/1.1 compliant (optionally uses 1.0)
 - GET
 - PUT
 - HEAD
 - POST
 - multipart formpost (RFC1867-style)
 - authentication: Basic, Digest, NTLM(*1), GSS-Negotiate/Negotiate(*3) and
   SPNEGO (*4)
 - 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 certificates
 - verify server certificate
 - via http-proxy
 - select desired encryption
 - force usage of a specific SSL version (SSLv2, SSLv3 or TLSv1)

FTP
 - download
 - authentication
 - kerberos4 (*5)
 - 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

TELNET
 - connection negotiation
 - custom telnet options
 - stdin/stdout I/O

LDAP (*2)
 - full LDAP URL support

DICT
 - extended DICT URL support

GOPHER
 - GET
 - via http-proxy

FILE
 - URL support

FOOTNOTES
=========

  *1 = requires OpenSSL
  *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.