summaryrefslogtreecommitdiff
path: root/Build/source/libs/curl/docs/curl.1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/curl/docs/curl.1')
-rw-r--r--Build/source/libs/curl/docs/curl.1820
1 files changed, 820 insertions, 0 deletions
diff --git a/Build/source/libs/curl/docs/curl.1 b/Build/source/libs/curl/docs/curl.1
new file mode 100644
index 00000000000..574db94c271
--- /dev/null
+++ b/Build/source/libs/curl/docs/curl.1
@@ -0,0 +1,820 @@
+.\" You can view this file with:
+.\" nroff -man curl.1
+.\" Written by Daniel Stenberg
+.\"
+.TH curl 1 "25 Feb 2002" "Curl 7.9.5" "Curl Manual"
+.SH NAME
+curl \- transfer a URL
+.SH SYNOPSIS
+.B curl [options]
+.I [URL...]
+.SH DESCRIPTION
+.B curl
+is a client to get documents/files from or send documents to a server, using
+any of the supported protocols (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP
+or FILE). The command is designed to work without user interaction or any kind
+of interactivity.
+
+curl offers a busload of useful tricks like proxy support, user
+authentication, ftp upload, HTTP post, SSL (https:) connections, cookies, file
+transfer resume and more.
+.SH URL
+The URL syntax is protocol dependent. You'll find a detailed description in
+RFC 2396.
+
+You can specify multiple URLs or parts of URLs by writing part sets within
+braces as in:
+
+ http://site.{one,two,three}.com
+
+or you can get sequences of alphanumeric series by using [] as in:
+
+ ftp://ftp.numericals.com/file[1-100].txt
+ ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)
+ ftp://ftp.letters.com/file[a-z].txt
+
+It is possible to specify up to 9 sets or series for a URL, but no nesting is
+supported at the moment:
+
+ http://www.any.org/archive[1996-1999]/volume[1-4]part{a,b,c,index}.html
+
+You can specify any amount of URLs on the command line. They will be fetched
+in a sequential manner in the specified order.
+
+Curl will attempt to re-use connections for multiple file transfers, so that
+getting many files from the same server will not do multiple connects /
+handshakes. This improves speed. Of course this is only done on files
+specified on a single command line and cannot be used between separate curl
+invokes.
+.SH OPTIONS
+.IP "-a/--append"
+(FTP)
+When used in a ftp upload, this will tell curl to append to the target
+file instead of overwriting it. If the file doesn't exist, it will
+be created.
+
+If this option is used twice, the second one will disable append mode again.
+.IP "-A/--user-agent <agent string>"
+(HTTP)
+Specify the User-Agent string to send to the HTTP server. Some badly done CGIs
+fail if its not set to "Mozilla/4.0". To encode blanks in the string,
+surround the string with single quote marks. This can also be set with the
+-H/--header flag of course.
+
+If this option is set more than once, the last one will be the one that's
+used.
+.IP "-b/--cookie <name=data>"
+(HTTP)
+Pass the data to the HTTP server as a cookie. It is supposedly the
+data previously received from the server in a "Set-Cookie:" line.
+The data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
+
+If no '=' letter is used in the line, it is treated as a filename to use to
+read previously stored cookie lines from, which should be used in this session
+if they match. Using this method also activates the "cookie parser" which will
+make curl record incoming cookies too, which may be handy if you're using this
+in combination with the -L/--location option. The file format of the file to
+read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie
+file format.
+
+.B NOTE
+that the file specified with -b/--cookie is only used as input. No cookies
+will be stored in the file. To store cookies, save the HTTP headers to a file
+using -D/--dump-header!
+
+If this option is set more than once, the last one will be the one that's
+used.
+.IP "-B/--use-ascii"
+Use ASCII transfer when getting an FTP file or LDAP info. For FTP, this can
+also be enforced by using an URL that ends with ";type=A". This option causes
+data sent to stdout to be in text mode for win32 systems.
+
+If this option is used twice, the second one will disable ASCII usage.
+.IP "--ciphers <list of ciphers>"
+(SSL) Specifies which ciphers to use in the connection. The list of ciphers
+must be using valid ciphers. Read up on SSL cipher list details on this URL:
+.I http://www.openssl.org/docs/apps/ciphers.html (Option added in curl 7.9)
+
+If this option is used severl times, the last one will override the others.
+.IP "--connect-timeout <seconds>"
+Maximum time in seconds that you allow the connection to the server to take.
+This only limits the connection phase, once curl has connected this option is
+of no more use. This option didn't work in win32 systems until 7.7.2. See
+also the
+.I "--max-time"
+option.
+
+If this option is used several times, the last one will be used.
+.IP "-c/--cookie-jar <file name>"
+Specify to which file you want curl to write all cookies after a completed
+operation. Curl writes all cookies previously read from a specified file as
+well as all cookies received from remote server(s). If no cookies are known,
+no file will be written. The file will be written using the Netscape cookie
+file format. If you set the file name to a single dash, "-", the cookies will
+be written to stdout. (Option added in curl 7.9)
+
+If this option is used several times, the last specfied file name will be
+used.
+.IP "-C/--continue-at <offset>"
+Continue/Resume a previous file transfer at the given offset. The given offset
+is the exact number of bytes that will be skipped counted from the beginning
+of the source file before it is transfered to the destination. If used with
+uploads, the ftp server command SIZE will not be used by curl.
+
+Use "-C -" to tell curl to automatically find out where/how to resume the
+transfer. It then uses the given output/input files to figure that out.
+
+If this option is used several times, the last one will be used.
+.IP "-d/--data <data>"
+(HTTP) Sends the specified data in a POST request to the HTTP server, in a way
+that can emulate as if a user has filled in a HTML form and pressed the submit
+button. Note that the data is sent exactly as specified with no extra
+processing (with all newlines cut off). The data is expected to be
+"url-encoded". This will cause curl to pass the data to the server using the
+content-type application/x-www-form-urlencoded. Compare to -F. If more than
+one -d/--data option is used on the same command line, the data pieces
+specified will be merged together with a separating &-letter. Thus, using '-d
+name=daniel -d skill=lousy' would generate a post chunk that looks like
+\&'name=daniel&skill=lousy'.
+
+If you start the data with the letter @, the rest should be a file name to
+read the data from, or - if you want curl to read the data from stdin. The
+contents of the file must already be url-encoded. Multiple files can also be
+specified. Posting data from a file named 'foobar' would thus be done with
+"--data @foobar".
+
+To post data purely binary, you should instead use the --data-binary option.
+
+-d/--data is the same as --data-ascii.
+
+If this option is used several times, the ones following the first will
+append data.
+.IP "--data-ascii <data>"
+(HTTP) This is an alias for the -d/--data option.
+
+If this option is used several times, the ones following the first will
+append data.
+.IP "--data-binary <data>"
+(HTTP) This posts data in a similar manner as --data-ascii does, although when
+using this option the entire context of the posted data is kept as-is. If you
+want to post a binary file without the strip-newlines feature of the
+--data-ascii option, this is for you.
+
+If this option is used several times, the ones following the first will
+append data.
+.IP "--disable-epsv"
+(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
+downloads. Curl will normally always first attempt to use EPSV before PASV,
+but with this option, it will not try using EPSV.
+
+IF this option is used several times, each occurrence will toggle this on/off.
+.IP "-D/--dump-header <file>"
+(HTTP/FTP)
+Write the HTTP headers to this file. Write the FTP file info to this
+file if -I/--head is used.
+
+This option is handy to use when you want to store the cookies that a HTTP
+site sends to you. The cookies could then be read in a second curl invoke by
+using the -b/--cookie option!
+
+If this option is used several times, the last one will be used.
+.IP "-e/--referer <URL>"
+(HTTP) Sends the "Referer Page" information to the HTTP server. This can also
+be set with the -H/--header flag of course. When used with
+.I -L/--location
+you can append ";auto" to the referer URL to make curl automatically set the
+previous URL when it follows a Location: header. The ";auto" string can be
+used alone, even if you don't set an initial referer.
+
+If this option is used several times, the last one will be used.
+.IP "--egd-file <file>"
+(HTTPS) Specify the path name to the Entropy Gathering Daemon socket. The
+socket is used to seed the random engine for SSL connections. See also the
+.I "--random-file"
+option.
+.IP "-E/--cert <certificate[:password]>"
+(HTTPS)
+Tells curl to use the specified certificate file when getting a file
+with HTTPS. The certificate must be in PEM format.
+If the optional password isn't specified, it will be queried for on
+the terminal. Note that this certificate is the private key and the private
+certificate concatenated!
+
+If this option is used several times, the last one will be used.
+.IP "--cacert <CA certificate>"
+(HTTPS) Tells curl to use the specified certificate file to verify the
+peer. The certificate must be in PEM format.
+
+If this option is used several times, the last one will be used.
+.IP "-f/--fail"
+(HTTP)
+Fail silently (no output at all) on server errors. This is mostly done
+like this to better enable scripts etc to better deal with failed
+attempts. In normal cases when a HTTP server fails to deliver a
+document, it returns a HTML document stating so (which often also
+describes why and more). This flag will prevent curl from
+outputting that and fail silently instead.
+
+If this option is used twice, the second will again disable silent failure.
+.IP "-F/--form <name=content>"
+(HTTP) This lets curl emulate a filled in form in which a user has pressed the
+submit button. This causes curl to POST data using the content-type
+multipart/form-data according to RFC1867. This enables uploading of binary
+files etc. To force the 'content' part to be be a file, prefix the file name
+with an @ sign. To just get the content part from a file, prefix the file name
+with the letter <. The difference between @ and < is then that @ makes a file
+get attached in the post as a file upload, while the < makes a text field and
+just get the contents for that text field from a file.
+
+Example, to send your password file to the server, where
+\&'password' is the name of the form-field to which /etc/passwd will be the
+input:
+
+.B curl
+-F password=@/etc/passwd www.mypasswords.com
+
+To read the file's content from stdin insted of a file, use - where the file
+name should've been. This goes for both @ and < constructs.
+
+This option can be used multiple times.
+.IP "-g/--globoff"
+This option switches off the "URL globbing parser". When you set this option,
+you can specify URLs that contain the letters {}[] without having them being
+interpreted by curl itself. Note that these letters are not normal legal URL
+contents but they should be encoded according to the URI standard. (Option
+added in curl 7.6)
+.IP "-G/--get"
+When used, this option will make all data specified with -d/--data or
+--data-binary to be used in a HTTP GET request instead of the POST request
+that otherwise would be used. The data will be appended to the URL with a '?'
+separator. (Option added in curl 7.9)
+.IP "-h/--help"
+Usage help.
+.IP "-H/--header <header>"
+(HTTP) Extra header to use when getting a web page. You may specify any number
+of extra headers. Note that if you should add a custom header that has the
+same name as one of the internal ones curl would use, your externally set
+header will be used instead of the internal one. This allows you to make even
+trickier stuff than curl would normally do. You should not replace internally
+set headers without knowing perfectly well what you're doing. Replacing an
+internal header with one without content on the right side of the colon will
+prevent that header from appearing.
+
+This option can be used multiple times.
+.IP "-i/--include"
+(HTTP)
+Include the HTTP-header in the output. The HTTP-header includes things
+like server-name, date of the document, HTTP-version and more...
+
+If this option is used twice, the second will again disable header include.
+.IP "--interface <name>"
+Perform an operation using a specified interface. You can enter interface
+name, IP address or host name. An example could look like:
+
+.B "curl --interface eth0:1 http://www.netscape.com/"
+
+If this option is used several times, the last one will be used.
+.IP "-I/--head"
+(HTTP/FTP)
+Fetch the HTTP-header only! HTTP-servers feature the command HEAD
+which this uses to get nothing but the header of a document. When used
+on a FTP file, curl displays the file size only.
+
+If this option is used twice, the second will again disable header only.
+.IP "--krb4 <level>"
+(FTP) Enable kerberos4 authentication and use. The level must be entered and
+should be one of 'clear', 'safe', 'confidential' or 'private'. Should you use
+a level that is not one of these, 'private' will instead be used.
+
+If this option is used several times, the last one will be used.
+.IP "-K/--config <config file>"
+Specify which config file to read curl arguments from. The config file is a
+text file in which command line arguments can be written which then will be
+used as if they were written on the actual command line. Options and their
+parameters must be specified on the same config file line. If the parameter is
+to contain white spaces, the parameter must be inclosed within quotes. If the
+first column of a config line is a '#' character, the rest of the line will be
+treated as a comment.
+
+Specify the filename as '-' to make curl read the file from stdin.
+
+This option can be used multiple times.
+.IP "-l/--list-only"
+(FTP)
+When listing an FTP directory, this switch forces a name-only view.
+Especially useful if you want to machine-parse the contents of an FTP
+directory since the normal directory view doesn't use a standard look
+or format.
+
+If this option is used twice, the second will again disable list only.
+.IP "-L/--location"
+(HTTP/HTTPS) If the server reports that the requested page has a different
+location (indicated with the header line Location:) this flag will let curl
+attempt to reattempt the get on the new place. If used together with -i or -I,
+headers from all requested pages will be shown. If this flag is used when
+making a HTTP POST, curl will automatically switch to GET after the initial
+POST has been done.
+
+If this option is used twice, the second will again disable location following.
+.IP "-m/--max-time <seconds>"
+Maximum time in seconds that you allow the whole operation to take. This is
+useful for preventing your batch jobs from hanging for hours due to slow
+networks or links going down. This doesn't work fully in win32 systems.
+See also the
+.I "--connect-timeout"
+option.
+
+If this option is used several times, the last one will be used.
+.IP "-M/--manual"
+Manual. Display the huge help text.
+.IP "-n/--netrc"
+Makes curl scan the
+.I .netrc
+file in the user's home directory for login name and password. This is
+typically used for ftp on unix. If used with http, curl will enable user
+authentication. See
+.BR netrc(4)
+or
+.BR ftp(1)
+for details on the file format. Curl will not complain if that file
+hasn't the right permissions (it should not be world nor group
+readable). The environment variable "HOME" is used to find the home
+directory.
+
+A quick and very simple example of how to setup a
+.I .netrc
+to allow curl to ftp to the machine host.domain.com with user name
+\&'myself' and password 'secret' should look similar to:
+
+.B "machine host.domain.com login myself password secret"
+
+If this option is used twice, the second will again disable netrc usage.
+.IP "-N/--no-buffer"
+Disables the buffering of the output stream. In normal work situations, curl
+will use a standard buffered output stream that will have the effect that it
+will output the data in chunks, not necessarily exactly when the data arrives.
+Using this option will disable that buffering.
+
+If this option is used twice, the second will again switch on buffering.
+.IP "-o/--output <file>"
+Write output to <file> instead of stdout. If you are using {} or [] to fetch
+multiple documents, you can use '#' followed by a number in the <file>
+specifier. That variable will be replaced with the current string for the URL
+being fetched. Like in:
+
+ curl http://{one,two}.site.com -o "file_#1.txt"
+
+or use several variables like:
+
+ curl http://{site,host}.host[1-5].com -o "#1_#2"
+
+You may use this option as many times as you have number of URLs.
+.IP "-O/--remote-name"
+Write output to a local file named like the remote file we get. (Only
+the file part of the remote file is used, the path is cut off.)
+
+You may use this option as many times as you have number of URLs.
+.IP "-p/--proxytunnel"
+When an HTTP proxy is used, this option will cause non-HTTP protocols to
+attempt to tunnel through the proxy instead of merely using it to do HTTP-like
+operations. The tunnel approach is made with the HTTP proxy CONNECT request
+and requires that the proxy allows direct connect to the remote port number
+curl wants to tunnel through to.
+
+If this option is used twice, the second will again disable proxy tunnel.
+.IP "-P/--ftpport <address>"
+(FTP)
+Reverses the initiator/listener roles when connecting with ftp. This
+switch makes Curl use the PORT command instead of PASV. In
+practice, PORT tells the server to connect to the client's specified
+address and port, while PASV asks the server for an ip address and
+port to connect to. <address> should be one of:
+.RS
+.TP 12
+.B interface
+i.e "eth0" to specify which interface's IP address you want to use (Unix only)
+.TP
+.B "IP address"
+i.e "192.168.10.1" to specify exact IP number
+.TP
+.B "host name"
+i.e "my.host.domain" to specify machine
+.TP
+.B "-"
+(any single-letter string) to make it pick the machine's default
+.RE
+
+If this option is used several times, the last one will be used.
+.IP "-q"
+If used as the first parameter on the command line, the
+.I $HOME/.curlrc
+file will not be read and used as a config file.
+.IP "-Q/--quote <comand>"
+(FTP) Send an arbitrary command to the remote FTP server, by using the QUOTE
+command of the server. Not all servers support this command, and the set of
+QUOTE commands are server specific! Quote commands are sent BEFORE the
+transfer is taking place. To make commands take place after a successful
+transfer, prefix them with a dash '-'. You may specify any amount of commands
+to be run before and after the transfer. If the server returns failure for one
+of the commands, the entire operation will be aborted.
+
+This option can be used multiple times.
+.IP "--random-file <file>"
+(HTTPS) Specify the path name to file containing what will be considered as
+random data. The data is used to seed the random engine for SSL connections.
+See also the
+.I "--edg-file"
+option.
+.IP "-r/--range <range>"
+(HTTP/FTP)
+Retrieve a byte range (i.e a partial document) from a HTTP/1.1 or FTP
+server. Ranges can be specified in a number of ways.
+.RS
+.TP 10
+.B 0-499
+specifies the first 500 bytes
+.TP
+.B 500-999
+specifies the second 500 bytes
+.TP
+.B -500
+specifies the last 500 bytes
+.TP
+.B 9500
+specifies the bytes from offset 9500 and forward
+.TP
+.B 0-0,-1
+specifies the first and last byte only(*)(H)
+.TP
+.B 500-700,600-799
+specifies 300 bytes from offset 500(H)
+.TP
+.B 100-199,500-599
+specifies two separate 100 bytes ranges(*)(H)
+.RE
+
+(*) = NOTE that this will cause the server to reply with a multipart
+response!
+
+You should also be aware that many HTTP/1.1 servers do not have this feature
+enabled, so that when you attempt to get a range, you'll instead get the whole
+document.
+
+FTP range downloads only support the simple syntax 'start-stop' (optionally
+with one of the numbers omitted). It depends on the non-RFC command SIZE.
+
+If this option is used several times, the last one will be used.
+.IP "-R/--remote-time"
+When used, this will make libcurl attempt to figure out the timestamp of the
+remote file, and if that is available make the local file get that same
+timestamp.
+
+If this option is used twice, the second time disables this again.
+.IP "-s/--silent"
+Silent mode. Don't show progress meter or error messages. Makes
+Curl mute.
+
+If this option is used twice, the second will again disable mute.
+.IP "-S/--show-error"
+When used with -s it makes curl show error message if it fails.
+
+If this option is used twice, the second will again disable show error.
+.IP "-t/--telnet-option <OPT=val>"
+Pass options to the telnet protocol. Supported options are:
+
+TTYPE=<term> Sets the terminal type.
+
+XDISPLOC=<X display> Sets the X display location.
+
+NEW_ENV=<var,val> Sets an environment variable.
+.IP "-T/--upload-file <file>"
+This transfers the specified local file to the remote URL. If there is no file
+part in the specified URL, Curl will append the local file name. NOTE that you
+must use a trailing / on the last directory to really prove to Curl that there
+is no file name or curl will think that your last directory name is the remote
+file name to use. That will most likely cause the upload operation to fail. If
+this is used on a http(s) server, the PUT command will be used.
+
+Use the file name "-" (a single dash) to use stdin instead of a given file.
+
+If this option is used several times, the last one will be used.
+.IP "-u/--user <user:password>"
+Specify user and password to use when fetching. See README.curl for detailed
+examples of how to use this. If no password is specified, curl will
+ask for it interactively.
+
+If this option is used several times, the last one will be used.
+.IP "-U/--proxy-user <user:password>"
+Specify user and password to use for Proxy authentication. If no
+password is specified, curl will ask for it interactively.
+
+If this option is used several times, the last one will be used.
+.IP "--url <URL>"
+Specify a URL to fetch. This option is mostly handy when you want to specify
+URL(s) in a config file.
+
+This option may be used any number of times. To control where this URL is written, use the
+.I -o
+or the
+.I -O
+options.
+.IP "-v/--verbose"
+Makes the fetching more verbose/talkative. Mostly usable for
+debugging. Lines starting with '>' means data sent by curl, '<'
+means data received by curl that is hidden in normal cases and lines
+starting with '*' means additional info provided by curl.
+
+If this option is used twice, the second will again disable verbose.
+.IP "-V/--version"
+Displays the full version of curl, libcurl and other 3rd party libraries
+linked with the executable.
+.IP "-w/--write-out <format>"
+Defines what to display after a completed and successful operation. The format
+is a string that may contain plain text mixed with any number of variables. The
+string can be specified as "string", to get read from a particular file you
+specify it "@filename" and to tell curl to read the format from stdin you
+write "@-".
+
+The variables present in the output format will be substituted by the value or
+text that curl thinks fit, as described below. All variables are specified
+like %{variable_name} and to output a normal % you just write them like
+%%. You can output a newline by using \\n, a carriage return with \\r and a tab
+space with \\t.
+
+.B NOTE:
+The %-letter is a special letter in the win32-environment, where all
+occurrences of % must be doubled when using this option.
+
+Available variables are at this point:
+.RS
+.TP 15
+.B url_effective
+The URL that was fetched last. This is mostly meaningful if you've told curl
+to follow location: headers.
+.TP
+.B http_code
+The numerical code that was found in the last retrieved HTTP(S) page.
+.TP
+.B time_total
+The total time, in seconds, that the full operation lasted. The time will be
+displayed with millisecond resolution.
+.TP
+.B time_namelookup
+The time, in seconds, it took from the start until the name resolving was
+completed.
+.TP
+.B time_connect
+The time, in seconds, it took from the start until the connect to the remote
+host (or proxy) was completed.
+.TP
+.B time_pretransfer
+The time, in seconds, it took from the start until the file transfer is just
+about to begin. This includes all pre-transfer commands and negotiations that
+are specific to the particular protocol(s) involved.
+.TP
+.B time_starttransfer
+The time, in seconds, it took from the start until the first byte is just about
+to be transfered. This includes time_pretransfer and also the time the
+server needs to calculate the result.
+.TP
+.B size_download
+The total amount of bytes that were downloaded.
+.TP
+.B size_upload
+The total amount of bytes that were uploaded.
+.TP
+.B size_header
+The total amount of bytes of the downloaded headers.
+.TP
+.B size_request
+The total amount of bytes that were sent in the HTTP request.
+.TP
+.B speed_download
+The average download speed that curl measured for the complete download.
+.TP
+.B speed_upload
+The average upload speed that curl measured for the complete upload.
+.TP
+.B content_type
+The Content-Type of the requested document, if there was any. (Added in 7.9.5)
+.RE
+
+If this option is used several times, the last one will be used.
+.IP "-x/--proxy <proxyhost[:port]>"
+Use specified HTTP proxy. If the port number is not specified, it is assumed
+at port 1080.
+
+\fBNote\fP that all operations that are performed over a HTTP proxy will
+transparantly be converted to HTTP. It means that certain protocol specific
+operations might not be available. This is not the case if you can tunnel
+through the proxy, as done with the \fI-p/--proxytunnel\fP option.
+
+If this option is used several times, the last one will be used.
+.IP "-X/--request <command>"
+(HTTP)
+Specifies a custom request to use when communicating with the HTTP server.
+The specified request will be used instead of the standard GET. Read the
+HTTP 1.1 specification for details and explanations.
+
+(FTP)
+Specifies a custom FTP command to use instead of LIST when doing file lists
+with ftp.
+
+If this option is used several times, the last one will be used.
+.IP "-y/--speed-time <time>"
+If a download is slower than speed-limit bytes per second during a speed-time
+period, the download gets aborted. If speed-time is used, the default
+speed-limit will be 1 unless set with -y.
+
+If this option is used several times, the last one will be used.
+.IP "-Y/--speed-limit <speed>"
+If a download is slower than this given speed, in bytes per second, for
+speed-time seconds it gets aborted. speed-time is set with -Y and is 30 if
+not set.
+
+If this option is used several times, the last one will be used.
+.IP "-z/--time-cond <date expression>"
+(HTTP)
+Request to get a file that has been modified later than the given time and
+date, or one that has been modified before that time. The date expression can
+be all sorts of date strings or if it doesn't match any internal ones, it
+tries to get the time from a given file name instead! See the
+.BR "GNU date(1)"
+or
+.BR "curl_getdate(3)"
+man pages for date expression details.
+
+Start the date expression with a dash (-) to make it request for a document
+that is older than the given date/time, default is a document that is newer
+than the specified date/time.
+
+If this option is used several times, the last one will be used.
+.IP "-3/--sslv3"
+(HTTPS)
+Forces curl to use SSL version 3 when negotiating with a remote SSL server.
+.IP "-2/--sslv2"
+(HTTPS)
+Forces curl to use SSL version 2 when negotiating with a remote SSL server.
+.IP "-0/--http1.0"
+(HTTP) Forces curl to issue its requests using HTTP 1.0 instead of using its
+internally preferred: HTTP 1.1.
+.IP "-#/--progress-bar"
+Make curl display progress information as a progress bar instead of the
+default statistics.
+
+If this option is used twice, the second will again disable the progress bar.
+.IP "--crlf"
+(FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).
+
+If this option is used twice, the second will again disable crlf converting.
+.IP "--stderr <file>"
+Redirect all writes to stderr to the specified file instead. If the file name
+is a plain '-', it is instead written to stdout. This option has no point when
+you're using a shell with decent redirecting capabilities.
+
+If this option is used several times, the last one will be used.
+.SH FILES
+.I ~/.curlrc
+.RS
+Default config file.
+
+.SH ENVIRONMENT
+.IP "http_proxy [protocol://]<host>[:port]"
+Sets proxy server to use for HTTP.
+.IP "HTTPS_PROXY [protocol://]<host>[:port]"
+Sets proxy server to use for HTTPS.
+.IP "FTP_PROXY [protocol://]<host>[:port]"
+Sets proxy server to use for FTP.
+.IP "GOPHER_PROXY [protocol://]<host>[:port]"
+Sets proxy server to use for GOPHER.
+.IP "ALL_PROXY [protocol://]<host>[:port]"
+Sets proxy server to use if no protocol-specific proxy is set.
+.IP "NO_PROXY <comma-separated list of hosts>"
+list of host names that shouldn't go through any proxy. If set to a asterisk
+'*' only, it matches all hosts.
+.SH EXIT CODES
+There exists a bunch of different error codes and their corresponding error
+messages that may appear during bad conditions. At the time of this writing,
+the exit codes are:
+.IP 1
+Unsupported protocol. This build of curl has no support for this protocol.
+.IP 2
+Failed to initialize.
+.IP 3
+URL malformat. The syntax was not correct.
+.IP 4
+URL user malformatted. The user-part of the URL syntax was not correct.
+.IP 5
+Couldn't resolve proxy. The given proxy host could not be resolved.
+.IP 6
+Couldn't resolve host. The given remote host was not resolved.
+.IP 7
+Failed to connect to host.
+.IP 8
+FTP weird server reply. The server sent data curl couldn't parse.
+.IP 9
+FTP access denied. The server denied login.
+.IP 10
+FTP user/password incorrect. Either one or both were not accepted by the
+server.
+.IP 11
+FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
+.IP 12
+FTP weird USER reply. Curl couldn't parse the reply sent to the USER request.
+.IP 13
+FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
+.IP 14
+FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
+.IP 15
+FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
+.IP 16
+FTP can't reconnect. Couldn't connect to the host we got in the 227-line.
+.IP 17
+FTP couldn't set binary. Couldn't change transfer method to binary.
+.IP 18
+Partial file. Only a part of the file was transfered.
+.IP 19
+FTP couldn't RETR file. The RETR command failed.
+.IP 20
+FTP write error. The transfer was reported bad by the server.
+.IP 21
+FTP quote error. A quote command returned error from the server.
+.IP 22
+HTTP not found. The requested page was not found. This return code only
+appears if --fail is used.
+.IP 23
+Write error. Curl couldn't write data to a local filesystem or similar.
+.IP 24
+Malformat user. User name badly specified.
+.IP 25
+FTP couldn't STOR file. The server denied the STOR operation.
+.IP 26
+Read error. Various reading problems.
+.IP 27
+Out of memory. A memory allocation request failed.
+.IP 28
+Operation timeout. The specified time-out period was reached according to the
+conditions.
+.IP 29
+FTP couldn't set ASCII. The server returned an unknown reply.
+.IP 30
+FTP PORT failed. The PORT command failed.
+.IP 31
+FTP couldn't use REST. The REST command failed.
+.IP 32
+FTP couldn't use SIZE. The SIZE command failed. The command is an extension
+to the original FTP spec RFC 959.
+.IP 33
+HTTP range error. The range "command" didn't work.
+.IP 34
+HTTP post error. Internal post-request generation error.
+.IP 35
+SSL connect error. The SSL handshaking failed.
+.IP 36
+FTP bad download resume. Couldn't continue an earlier aborted download.
+.IP 37
+FILE couldn't read file. Failed to open the file. Permissions?
+.IP 38
+LDAP cannot bind. LDAP bind operation failed.
+.IP 39
+LDAP search failed.
+.IP 40
+Library not found. The LDAP library was not found.
+.IP 41
+Function not found. A required LDAP function was not found.
+.IP 42
+Aborted by callback. An application told curl to abort the operation.
+.IP 43
+Internal error. A function was called with a bad parameter.
+.IP 44
+Internal error. A function was called in a bad order.
+.IP 45
+Interface error. A specified outgoing interface could not be used.
+.IP 46
+Bad password entered. An error was signaled when the password was entered.
+.IP 47
+Too many redirects. When following redirects, curl hit the maximum amount.
+.IP 48
+Unknown TELNET option specified.
+.IP 49
+Malformed telnet option.
+.IP 51
+The remote peer's SSL certificate wasn't ok
+.IP 52
+The server didn't reply anything, which here is considered an error.
+.IP XX
+There will appear more error codes here in future releases. The existing ones
+are meant to never change.
+.SH BUGS
+If you do find bugs, mail them to curl-bug@haxx.se.
+.SH AUTHORS / CONTRIBUTORS
+Daniel Stenberg is the main author, but the whole list of contributors is
+found in the separate THANKS file.
+.SH WWW
+http://curl.haxx.se
+.SH FTP
+ftp://ftp.sunet.se/pub/www/utilities/curl/
+.SH "SEE ALSO"
+.BR ftp (1),
+.BR wget (1),
+.BR snarf (1)