Protocols: HTTP
Category: http
---
-Set maximum number of redirection-followings allowed. When --location is used,
-is used to prevent curl from following redirections too much. By default, the
-limit is set to 50 redirections. Set this option to -1 to make it unlimited.
+Set maximum number of redirections to follow. When --location is used, to
+prevent curl from following too many redirects, by default, the limit is
+set to 50 redirects. Set this option to -1 to make it unlimited.
If this option is used several times, the last one will be used.
Category: misc
---
This option was previously used to specify a metalink resource. Metalink
-support has unfortunately been disabled in curl since 7.78.0 due to security
-reasons.
\ No newline at end of file
+support has been disabled in curl since 7.78.0 for security reasons.
Makes curl scan the *.netrc* (*_netrc* on Windows) 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
-*netrc(5)* *ftp(1)* for details on the file format. Curl will not
-complain if that file doesn't have the right permissions (it should not be
-either world- or group-readable). The environment variable "HOME" is used to
-find the home directory.
+*netrc(5)* and *ftp(1)* for details on the file format. Curl will not
+complain if that file doesn't have the right permissions (it should be
+neither 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 *.netrc* to allow curl
to FTP to the machine host.domain.com with user name \&'myself' and password
Added: 7.19.4
Category: proxy
---
-Comma-separated list of hosts which do not use a proxy, if one is specified.
-The only wildcard is a single * character, which matches all hosts, and
-effectively disables the proxy. Each name in this list is matched as either
-a domain which contains the hostname, or the hostname itself. For example,
-local.com would match local.com, local.com:80, and www.local.com, but not
-www.notlocal.com.
+Comma-separated list of hosts for which not to use a proxy, if one is
+specified. The only wildcard is a single * character, which matches all hosts,
+and effectively disables the proxy. Each name in this list is matched as
+either a domain which contains the hostname, or the hostname itself. For
+example, local.com would match local.com, local.com:80, and www.local.com, but
+not www.notlocal.com.
Since 7.53.0, This option overrides the environment variables that disable the
-proxy. If there's an environment variable disabling a proxy, you can set
-noproxy list to \&"" to override it.
+proxy ('no_proxy' and 'NO_PROXY'). If there's an environment variable
+disabling a proxy, you can set the noproxy list to \&"" to override it.
.IP "[url-protocol]_PROXY [protocol://]<host>[:port]"
Sets the proxy server to use for [url-protocol], where the protocol is a
protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP,
-SMTP, LDAP etc.
+SMTP, LDAP, etc.
.IP "ALL_PROXY [protocol://]<host>[:port]"
Sets the proxy server to use if no protocol-specific proxy is set.
.IP "NO_PROXY <comma-separated list of hosts/domains>"
Makes it the equivalent of --socks5-hostname
.SH EXIT CODES
There are a bunch of different error codes and their corresponding error
-messages that may appear during bad conditions. At the time of this writing,
+messages that may appear under error 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 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.
+Couldn't resolve host. The given remote host could not be resolved.
.IP 7
Failed to connect to host.
.IP 8
.IP 76
Character conversion functions required.
.IP 77
-Problem with reading the SSL CA cert (path? access rights?).
+Problem reading the SSL CA cert (path? access rights?).
.IP 78
The resource referenced in the URL does not exist.
.IP 79
.IP 83
Issuer check failed (added in 7.19.0).
.IP 84
-The FTP PRET command failed
+The FTP PRET command failed.
.IP 85
-RTSP: mismatch of CSeq numbers
+Mismatch of RTSP CSeq numbers.
.IP 86
-RTSP: mismatch of Session Identifiers
+Mismatch of RTSP Session Identifiers.
.IP 87
-unable to parse FTP file list
+Unable to parse FTP file list.
.IP 88
-FTP chunk callback reported error
+FTP chunk callback reported error.
.IP 89
-No connection available, the session will be queued
+No connection available, the session will be queued.
.IP 90
-SSL public key does not matched pinned public key
+SSL public key does not matched pinned public key.
.IP 91
Invalid SSL certificate status.
.IP 92
is a tool to transfer data from or to a server, using one of the supported
protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP,
LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP,
-SMTPS, TELNET and TFTP). The command is designed to work without user
+SMTPS, TELNET or TFTP). The command is designed to work without user
interaction.
curl offers a busload of useful tricks like proxy support, user
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.
+invocations.
.SH OUTPUT
If not told otherwise, curl writes the received data to stdout. It can be
instructed to instead save that data into a local file, using the --output or
command line, it similarly needs multiple options for where to save them.
curl does not parse or otherwise "understand" the content it gets or writes as
-output. It does no encoding or decoding, unless explicitly asked so with
+output. It does no encoding or decoding, unless explicitly asked to with
dedicated command line options.
.SH PROTOCOLS
curl supports numerous protocols, or put in URL terms: schemes. Your
redirect the response output to a file, using shell redirect (>), --output or
similar.
-It is not the same case for FTP upload as that operation does not spit out
-any response data to the terminal.
+This does not apply to FTP upload as that operation does not spit out any
+response data to the terminal.
If you prefer a progress "bar" instead of the regular meter, --progress-bar is
your friend. You can also disable the progress meter completely with the
disabled with --**no-**option. That is, you use the exact same option name
but prefix it with "no-". However, in this list we mostly only list and show
the --option version of them. (This concept with --no options was added in
-7.19.0. Previously most options were toggled on/off on repeated use of the
-same command line option.)
+7.19.0. Previously most options were toggled on/off through repeated use of
+the same command line option.)
Protocols: SSH TLS
Category: ssh tls auth
---
-Passphrase for the private key
+Passphrase for the private key.
If this option is used several times, the last one will be used.
Added: 7.20.2
Category: connection curl
---
-Tells curl to limit what protocols it may use in the transfer. Protocols are
+Tells curl to limit what protocols it may use for transfers. Protocols are
evaluated left to right, are comma separated, and are each a protocol name or
\&'all', optionally prefixed by zero or more modifiers. Available modifiers are:
.RS