1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-11 12:05:06 -05:00

I re-arranged the curl --help output. All the options are now sorted on

their long option names and all descriptions are one-liners.
This commit is contained in:
Daniel Stenberg 2008-01-12 22:56:12 +00:00
parent f866af912d
commit 4ab8ebb232
3 changed files with 75 additions and 65 deletions

View File

@ -7,6 +7,9 @@
Changelog Changelog
Daniel S (12 Jan 2008) Daniel S (12 Jan 2008)
- I re-arranged the curl --help output. All the options are now sorted on
their long option names and all descriptions are one-liners.
- Eric Landes provided the patch (edited by me) that introduces the - Eric Landes provided the patch (edited by me) that introduces the
--keepalive-time to curl to set the keepalive probe interval. I also took --keepalive-time to curl to set the keepalive probe interval. I also took
the opportunity to rename the recently added no-keep-alive option to the opportunity to rename the recently added no-keep-alive option to

View File

@ -19,6 +19,7 @@ This release includes the following changes:
o curl_easy_pause() o curl_easy_pause()
o CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA o CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA
o --keepalive-time o --keepalive-time
o curl --help output was re-ordered
This release includes the following bugfixes: This release includes the following bugfixes:

View File

@ -622,145 +622,151 @@ static void help(void)
{ {
int i; int i;
/* A few of these source lines are >80 columns wide, but that's only because /* A few of these source lines are >80 columns wide, but that's only because
breaking the strings narrower makes this chunk look even worse! */ breaking the strings narrower makes this chunk look even worse!
Starting with 7.18.0, this list of command line options is sorted based
on the long option name. It is not done automatically, although a command
line like the following can help out:
curl --help | cut -c5- | grep "^-" | sort
*/
static const char * const helptext[]={ static const char * const helptext[]={
"Usage: curl [options...] <url>", "Usage: curl [options...] <url>",
"Options: (H) means HTTP/HTTPS only, (F) means FTP only", "Options: (H) means HTTP/HTTPS only, (F) means FTP only",
" -a/--append Append to target file when uploading (F)",
" -A/--user-agent <string> User-Agent to send to server (H)",
" --anyauth Pick \"any\" authentication method (H)", " --anyauth Pick \"any\" authentication method (H)",
" -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)", " -a/--append Append to target file when uploading (F)",
" --basic Use HTTP Basic Authentication (H)", " --basic Use HTTP Basic Authentication (H)",
" -B/--use-ascii Use ASCII/text transfer", " --cacert <file> CA certificate to verify peer against (SSL)",
" -c/--cookie-jar <file> Write cookies to this file after operation (H)", " --capath <directory> CA directory to verify peer against (SSL)",
" -E/--cert <cert[:passwd]> Client certificate file and password (SSL)",
" --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)",
" --ciphers <list> SSL ciphers to use (SSL)",
" --compressed Request compressed response (using deflate or gzip)",
" -K/--config Specify which config file to read",
" --connect-timeout <seconds> Maximum time allowed for connection",
" -C/--continue-at <offset> Resumed transfer offset", " -C/--continue-at <offset> Resumed transfer offset",
" -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)",
" -c/--cookie-jar <file> Write cookies to this file after operation (H)",
" --create-dirs Create necessary local directory hierarchy",
" --crlf Convert LF to CRLF in upload",
" -d/--data <data> HTTP POST data (H)", " -d/--data <data> HTTP POST data (H)",
" --data-ascii <data> HTTP POST ASCII data (H)", " --data-ascii <data> HTTP POST ASCII data (H)",
" --data-binary <data> HTTP POST binary data (H)", " --data-binary <data> HTTP POST binary data (H)",
" --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)", " --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)",
" --negotiate Use HTTP Negotiate Authentication (H)",
" --digest Use HTTP Digest Authentication (H)", " --digest Use HTTP Digest Authentication (H)",
" --disable-eprt Inhibit using EPRT or LPRT (F)", " --disable-eprt Inhibit using EPRT or LPRT (F)",
" --disable-epsv Inhibit using EPSV (F)", " --disable-epsv Inhibit using EPSV (F)",
" -D/--dump-header <file> Write the headers to this file", " -D/--dump-header <file> Write the headers to this file",
" --egd-file <file> EGD socket path for random data (SSL)", " --egd-file <file> EGD socket path for random data (SSL)",
" --tcp-nodelay Use the TCP_NODELAY option", " --engine <eng> Crypto engine to use (SSL). \"--engine list\" for list",
#ifdef USE_ENVIRONMENT #ifdef USE_ENVIRONMENT
" --environment Write results to environment variables (RISC OS)", " --environment Write results to environment variables (RISC OS)",
#endif #endif
" -e/--referer Referer URL (H)",
" -E/--cert <cert[:passwd]> Client certificate file and password (SSL)",
" --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)",
" --key <key> Private key file name (SSL/SSH)",
" --key-type <type> Private key file type (DER/PEM/ENG) (SSL)",
" --pass <pass> Pass phrase for the private key (SSL/SSH)",
" --pubkey <key> Public key file name (SSH)",
" --engine <eng> Crypto engine to use (SSL). \"--engine list\" for list",
" --cacert <file> CA certificate to verify peer against (SSL)",
" --capath <directory> CA directory (made using c_rehash) to verify",
" peer against (SSL)",
" --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)",
" --ciphers <list> SSL ciphers to use (SSL)",
" --compressed Request compressed response (using deflate or gzip)",
" --connect-timeout <seconds> Maximum time allowed for connection",
" --create-dirs Create necessary local directory hierarchy",
" --crlf Convert LF to CRLF in upload",
" -f/--fail Fail silently (no output at all) on HTTP errors (H)", " -f/--fail Fail silently (no output at all) on HTTP errors (H)",
" -F/--form <name=content> Specify HTTP multipart POST data (H)",
" --form-string <name=string> Specify HTTP multipart POST data (H)",
" --ftp-account <data> Account data to send when requested by server (F)", " --ftp-account <data> Account data to send when requested by server (F)",
" --ftp-alternative-to-user String to replace \"USER [name]\" (F)", " --ftp-alternative-to-user String to replace \"USER [name]\" (F)",
" --ftp-create-dirs Create the remote dirs if not present (F)", " --ftp-create-dirs Create the remote dirs if not present (F)",
" --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)", " --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)",
" --ftp-pasv Use PASV/EPSV instead of PORT (F)", " --ftp-pasv Use PASV/EPSV instead of PORT (F)",
" -P/--ftp-port <address> Use PORT with address instead of PASV (F)",
" --ftp-skip-pasv-ip Skip the IP address for PASV (F)\n" " --ftp-skip-pasv-ip Skip the IP address for PASV (F)\n"
" --ftp-ssl Try SSL/TLS for ftp transfer (F)", " --ftp-ssl Try SSL/TLS for ftp transfer (F)",
" --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)",
" --ftp-ssl-reqd Require SSL/TLS for ftp transfer (F)",
" --ftp-ssl-ccc Send CCC after authenticating (F)", " --ftp-ssl-ccc Send CCC after authenticating (F)",
" --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)", " --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)",
" -F/--form <name=content> Specify HTTP multipart POST data (H)", " --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)",
" --form-string <name=string> Specify HTTP multipart POST data (H)", " --ftp-ssl-reqd Require SSL/TLS for ftp transfer (F)",
" -g/--globoff Disable URL sequences and ranges using {} and []",
" -G/--get Send the -d data with a HTTP GET (H)", " -G/--get Send the -d data with a HTTP GET (H)",
" -h/--help This help text", " -g/--globoff Disable URL sequences and ranges using {} and []",
" -H/--header <line> Custom header to pass to server (H)", " -H/--header <line> Custom header to pass to server (H)",
" -I/--head Show document info only",
" -h/--help This help text",
" --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)",
" -0/--http1.0 Use HTTP 1.0 (H)",
" --ignore-content-length Ignore the HTTP Content-Length header", " --ignore-content-length Ignore the HTTP Content-Length header",
" -i/--include Include protocol headers in the output (H/F)", " -i/--include Include protocol headers in the output (H/F)",
" -I/--head Show document info only",
" -j/--junk-session-cookies Ignore session cookies read from file (H)",
" --interface <interface> Specify network interface/address to use",
" --keepalive-time <seconds> Interval between keepalive probes",
" --krb <level> Enable kerberos with specified security level (F)",
" -k/--insecure Allow connections to SSL sites without certs (H)", " -k/--insecure Allow connections to SSL sites without certs (H)",
" -K/--config Specify which config file to read", " --interface <interface> Specify network interface/address to use",
" -4/--ipv4 Resolve name to IPv4 address",
" -6/--ipv6 Resolve name to IPv6 address",
" -j/--junk-session-cookies Ignore session cookies read from file (H)",
" --keepalive-time <seconds> Interval between keepalive probes",
" --key <key> Private key file name (SSL/SSH)",
" --key-type <type> Private key file type (DER/PEM/ENG) (SSL)",
" --krb <level> Enable kerberos with specified security level (F)",
" --libcurl <file> Dump libcurl equivalent code of this command line", " --libcurl <file> Dump libcurl equivalent code of this command line",
" -l/--list-only List only names of an FTP directory (F)",
" --limit-rate <rate> Limit transfer speed to this rate", " --limit-rate <rate> Limit transfer speed to this rate",
" --local-port <num>[-num] Force use of these local port numbers\n", " -l/--list-only List only names of an FTP directory (F)",
" --local-port <num>[-num] Force use of these local port numbers",
" -L/--location Follow Location: hints (H)", " -L/--location Follow Location: hints (H)",
" --location-trusted Follow Location: and send authentication even ", " --location-trusted Follow Location: and send auth to other hosts (H)",
" to other hostnames (H)",
" -m/--max-time <seconds> Maximum time allowed for the transfer",
" --max-redirs <num> Maximum number of redirects allowed (H)",
" --max-filesize <bytes> Maximum file size to download (H/F)",
" -M/--manual Display the full manual", " -M/--manual Display the full manual",
" --max-filesize <bytes> Maximum file size to download (H/F)",
" --max-redirs <num> Maximum number of redirects allowed (H)",
" -m/--max-time <seconds> Maximum time allowed for the transfer",
" --negotiate Use HTTP Negotiate Authentication (H)",
" -n/--netrc Must read .netrc for user name and password", " -n/--netrc Must read .netrc for user name and password",
" --netrc-optional Use either .netrc or URL; overrides -n", " --netrc-optional Use either .netrc or URL; overrides -n",
" --ntlm Use HTTP NTLM authentication (H)",
" -N/--no-buffer Disable buffering of the output stream", " -N/--no-buffer Disable buffering of the output stream",
" --no-keepalive Disable keepalive use on the connection", " --no-keepalive Disable keepalive use on the connection",
" --no-sessionid Disable SSL session-ID reusing (SSL)", " --no-sessionid Disable SSL session-ID reusing (SSL)",
" --ntlm Use HTTP NTLM authentication (H)",
" -o/--output <file> Write output to <file> instead of stdout", " -o/--output <file> Write output to <file> instead of stdout",
" -O/--remote-name Write output to a file named as the remote file", " --pass <pass> Pass phrase for the private key (SSL/SSH)",
" --post301 Do not switch to GET after following a 301 redirect (H)", " --post301 Do not switch to GET after following a 301 redirect (H)",
" -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)", " -#/--progress-bar Display transfer progress as a progress bar",
" -x/--proxy <host[:port]> Use HTTP proxy on given port",
" --proxy-anyauth Pick \"any\" proxy authentication method (H)", " --proxy-anyauth Pick \"any\" proxy authentication method (H)",
" --proxy-basic Use Basic authentication on the proxy (H)", " --proxy-basic Use Basic authentication on the proxy (H)",
" --proxy-digest Use Digest authentication on the proxy (H)", " --proxy-digest Use Digest authentication on the proxy (H)",
" --proxy-negotiate Use Negotiate authentication on the proxy (H)", " --proxy-negotiate Use Negotiate authentication on the proxy (H)",
" --proxy-ntlm Use NTLM authentication on the proxy (H)", " --proxy-ntlm Use NTLM authentication on the proxy (H)",
" -P/--ftp-port <address> Use PORT with address instead of PASV (F)", " -U/--proxy-user <user[:password]> Set proxy user and password",
" -q If used as the first parameter disables .curlrc", " -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)",
" --pubkey <key> Public key file name (SSH)",
" -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)", " -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)",
" -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server",
" --random-file <file> File for reading random data from (SSL)", " --random-file <file> File for reading random data from (SSL)",
" -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server",
" --raw Pass HTTP \"raw\", without any transfer decoding (H)", " --raw Pass HTTP \"raw\", without any transfer decoding (H)",
" -e/--referer Referer URL (H)",
" -O/--remote-name Write output to a file named as the remote file",
" -R/--remote-time Set the remote file's time on the local output", " -R/--remote-time Set the remote file's time on the local output",
" -X/--request <command> Specify request command to use",
" --retry <num> Retry request <num> times if transient problems occur", " --retry <num> Retry request <num> times if transient problems occur",
" --retry-delay <seconds> When retrying, wait this many seconds between each", " --retry-delay <seconds> When retrying, wait this many seconds between each",
" --retry-max-time <seconds> Retry only within this period", " --retry-max-time <seconds> Retry only within this period",
" -s/--silent Silent mode. Don't output anything",
" -S/--show-error Show error. With -s, make curl show errors when they occur", " -S/--show-error Show error. With -s, make curl show errors when they occur",
" -s/--silent Silent mode. Don't output anything",
" --socks4 <host[:port]> SOCKS4 proxy on given host + port", " --socks4 <host[:port]> SOCKS4 proxy on given host + port",
" --socks4a <host[:port]> SOCKS4a proxy on given host + port", " --socks4a <host[:port]> SOCKS4a proxy on given host + port",
" --socks5-hostname <host[:port]> SOCKS5 proxy, pass name instead of IP",
" --socks5 <host[:port]> SOCKS5 proxy on given host + port", " --socks5 <host[:port]> SOCKS5 proxy on given host + port",
" --socks5-hostname <host[:port]> SOCKS5 proxy, pass name instead of IP",
" -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs",
" -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30",
" -2/--sslv2 Use SSLv2 (SSL)",
" -3/--sslv3 Use SSLv3 (SSL)",
" --stderr <file> Where to redirect stderr. - means stdout", " --stderr <file> Where to redirect stderr. - means stdout",
" --tcp-nodelay Use the TCP_NODELAY option",
" -t/--telnet-option <OPT=val> Set telnet option", " -t/--telnet-option <OPT=val> Set telnet option",
" -z/--time-cond <time> Transfer based on a time condition",
" -1/--tlsv1 Use TLSv1 (SSL)",
" --trace <file> Write a debug trace to the given file", " --trace <file> Write a debug trace to the given file",
" --trace-ascii <file> Like --trace but without the hex output", " --trace-ascii <file> Like --trace but without the hex output",
" --trace-time Add time stamps to trace/verbose output", " --trace-time Add time stamps to trace/verbose output",
" -T/--upload-file <file> Transfer <file> to remote site", " -T/--upload-file <file> Transfer <file> to remote site",
" --url <URL> Set URL to work with", " --url <URL> Set URL to work with",
" -B/--use-ascii Use ASCII/text transfer",
" -u/--user <user[:password]> Set server user and password", " -u/--user <user[:password]> Set server user and password",
" -U/--proxy-user <user[:password]> Set proxy user and password", " -A/--user-agent <string> User-Agent to send to server (H)",
" -v/--verbose Make the operation more talkative", " -v/--verbose Make the operation more talkative",
" -V/--version Show version number and quit", " -V/--version Show version number and quit",
#ifdef MSDOS #ifdef MSDOS
" --wdebug Turn on Watt-32 debugging under DJGPP", " --wdebug Turn on Watt-32 debugging under DJGPP",
#endif #endif
" -w/--write-out [format] What to output after completion", " -w/--write-out [format] What to output after completion",
" -x/--proxy <host[:port]> Use HTTP proxy on given port", " -q If used as the first parameter disables .curlrc",
" -X/--request <command> Specify request command to use",
" -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30",
" -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs",
" -z/--time-cond <time> Transfer based on a time condition",
" -0/--http1.0 Use HTTP 1.0 (H)",
" -1/--tlsv1 Use TLSv1 (SSL)",
" -2/--sslv2 Use SSLv2 (SSL)",
" -3/--sslv3 Use SSLv3 (SSL)",
" -4/--ipv4 Resolve name to IPv4 address",
" -6/--ipv6 Resolve name to IPv6 address",
" -#/--progress-bar Display transfer progress as a progress bar",
NULL NULL
}; };
for(i=0; helptext[i]; i++) { for(i=0; helptext[i]; i++) {