Added: 7.53.0
Protocols: HTTP
Category: connection
+See-also: unix-socket
Example: --abstract-unix-socket socketpath $URL
---
Connect through an abstract Unix domain socket, instead of using the network.
Help: Enable alt-svc with this cache file
Added: 7.64.1
Category: http
+See-also: resolve connect-to
Example: --alt-svc svc.txt $URL
---
This option enables the alt-svc parser in curl. If the file name points to an
Help: Append to target file when uploading
Protocols: FTP SFTP
Category: ftp sftp
+See-also: range continue-at
Example: --upload-file local --append ftp://example.com/
Added: 4.8
---
Help: Use AWS V4 signature authentication
Category: auth http
Added: 7.75.0
+See-also: basic user
Example: --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" $URL
---
Use AWS V4 signature authentication in the transfer.
Help: CA certificate to verify peer against
Protocols: TLS
Category: tls
+See-also: capath insecure
Example: --cacert CA-file.txt $URL
Added: 7.5
---
Help: CA directory to verify peer against
Protocols: TLS
Category: tls
+See-also: cacert insecure
Example: --capath /local/directory $URL
Added: 7.9.8
---
Added: 7.41.0
Help: Verify the status of the server cert via OCSP-staple
Category: tls
+See-also: pinnedpubkey
Example: --cert-status $URL
---
Tells curl to verify the status of the server certificate by using the
Help: SSL ciphers to use
Protocols: TLS
Category: tls
+See-also: tlsv1.3
Example: --ciphers ECDHE-ECDSA-AES256-CCM8 $URL
Added: 7.9
---
Protocols: SCP SFTP
Added: 7.56.0
Category: scp ssh
+See-also: compressed
Example: --compressed-ssh sftp://example.com/
---
Enables built-in SSH compression.
Protocols: HTTP
Category: http
Example: --compressed $URL
+See-also: compressed-ssh
Added: 7.10
---
Request a compressed response using one of the algorithms curl supports, and
Category: curl
Example: --config file.txt $URL
Added: 4.10
+See-also: disable
---
Specify a text file to read curl arguments from. The command line arguments
found in the text file will be used as if they were provided on the command
Example: -c store-here.txt $URL
Example: -c store-here.txt -b read-these $URL
Added: 7.9
+See-also: cookie
---
Specify to which file you want curl to write all cookies after a completed
operation. Curl writes all cookies from its in-memory cookie storage to the
Category: http
Example: -b cookiefile $URL
Example: -b cookiefile -c cookiefile $URL
+See-also: cookie-jar junk-session-cookies
Added: 4.9
---
Pass the data to the HTTP server in the Cookie header. It is supposedly
Category: curl
Example: --create-dirs --output local/dir/file $URL
Added: 7.10.3
+See-also: ftp-create-dirs output-dir
---
When used in conjunction with the --output option, curl will create the
necessary local directory hierarchy as needed. This option creates the
Category: ftp smtp
Example: --crlf -T file ftp://example.com/
Added: 5.7
+See-also: use-ascii
---
Convert LF to CRLF in upload. Useful for MVS (OS/390).
Added: 7.19.7
Category: tls
Example: --crlfile rejects.txt $URL
+See-also: cacert capath
---
Provide a file using PEM format with a Certificate Revocation List that may
specify peer certificates that are to be considered revoked.
Added: 7.73.0
Category: tls
Example: --curves X25519 $URL
+See-also: ciphers
---
Tells curl to request specific curves to use during SSL session establishment
according to RFC 8422, 5.1. Multiple algorithms can be provided by separating
Category: http post upload
Example: --data-ascii @file $URL
Added: 7.2
+See-also: data-binary data-raw data-urlencode
---
This is just an alias for --data.
Category: http post upload
Example: --data-binary @filename $URL
Added: 7.2
+See-also: data-ascii
---
This posts data exactly as specified with no extra processing whatsoever.
Category: auth
Example: --delegation "none" $URL
Added: 7.22.0
+See-also: insecure ssl
---
Set LEVEL to tell the server what it is allowed to delegate when it
comes to user credentials.
Category: ftp
Example: --disable-eprt ftp://example.com/
Added: 7.10.5
+See-also: disable-epsv ftp-port
---
Tell curl to disable the use of the EPRT and LPRT commands when doing active
FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
Category: ftp
Example: --disable-epsv ftp://example.com/
Added: 7.9.2
+See-also: disable-eprt ftp-port
---
Tell curl to disable the use of the EPSV command when doing passive FTP
transfers. Curl will normally always first attempt to use EPSV before
Category: curl
Example: -q $URL
Added: 5.0
+See-also: config
---
If used as the first parameter on the command line, the *curlrc* config
file will not be read and used. See the --config for details on the default
Added: 7.33.0
Category: dns
Example: --dns-servers 192.168.0.1,192.168.0.2 $URL
+See-also: dns-interface dns-ipv4-addr
---
Set the list of DNS servers to be used instead of the system default.
The list of IP addresses should be separated with commas. Port numbers
Added: 7.76.0
Category: dns tls
Example: --doh-cert-status --doh-url https://doh.example $URL
+See-also: doh-insecure
---
Same as --cert-status but used for DoH (DNS-over-HTTPS).
Added: 7.76.0
Category: dns tls
Example: --doh-insecure --doh-url https://doh.example $URL
+See-also: doh-url
---
Same as --insecure but used for DoH (DNS-over-HTTPS).
Added: 7.62.0
Category: dns
Example: --doh-url https://doh.example $URL
+See-also: doh-insecure
---
Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames,
instead of using the default name resolver mechanism. The URL must be HTTPS.
Category: tls
Example: --engine flavor $URL
Added: 7.9.3
+See-also: ciphers curves
---
Select the OpenSSL crypto engine to use for cipher operations. Use --engine
list to print a list of build-time supported engines. Note that not all (and
Added: 7.68.0
Category: http
Example: --etag-compare etag.txt $URL
+See-also: etag-save time-cond
---
This option makes a conditional HTTP request for the specific ETag read
from the given file by sending a custom If-None-Match header using the
Added: 7.68.0
Category: http
Example: --etag-save storetag.txt $URL
+See-also: etag-compare
---
This option saves an HTTP ETag to the specified file. An ETag is a
caching related header, usually returned in a response.
Added: 7.52.0
Category: curl
Example: --fail-early $URL https://two.example
+See-also: fail fail-with-body
---
Fail and exit on the first detected transfer error.
Added: 7.42.0
Category: tls
Example: --false-start $URL
+See-also: tcp-fastopen
---
Tells curl to use false start during the TLS handshake. False start is a mode
where a TLS client will start sending application data before verifying the
Category: http upload
Example: --form "name=curl" --form "file=@loadthis" $URL
Added: 5.0
+See-also: data form-string form-escape
---
For HTTP protocol family, 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
Added: 7.13.0
Category: ftp auth
Example: --ftp-account "mr.robot" ftp://example.com/
+See-also: user
---
When an FTP server asks for "account data" after user name and password has
been provided, this data is sent off using the ACCT command.
Added: 7.15.5
Category: ftp
Example: --ftp-alternative-to-user "U53r" ftp://example.com
+See-also: ftp-account user
---
If authenticating with the USER and PASS commands fails, send this command.
When connecting to Tumbleweed's Secure Transport server over FTPS using a
Example: --ftp-method multicwd ftp://example.com/dir1/dir2/file
Example: --ftp-method nocwd ftp://example.com/dir1/dir2/file
Example: --ftp-method singlecwd ftp://example.com/dir1/dir2/file
+See-also: list-only
---
Control what method curl should use to reach a file on an FTP(S)
server. The method argument should be one of the following alternatives:
Added: 7.20.0
Category: ftp
Example: --ftp-pret ftp://example.com/
+See-also: ftp-port ftp-pasv
---
Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
mainly drftpd, require this non-standard command for directory listings as
Added: 7.16.0
Category: ftp tls
Example: --ftp-ssl-control ftp://example.com
+See-also: ssl
---
Require SSL/TLS for the FTP login, clear for transfer. Allows secure
authentication, but non-encrypted data transfers for efficiency. Fails the
elsif(/^---/) {
if(!$long) {
print STDERR "ERROR: no 'Long:' in $f\n";
- exit 1;
+ return 1;
}
if(!$category) {
print STDERR "ERROR: no 'Category:' in $f\n";
- exit 2;
+ return 2;
}
if(!$examples[0]) {
print STDERR "$f:$line:1:ERROR: no 'Example:' present\n";
- exit 2;
+ return 2;
}
if(!$added) {
print STDERR "$f:$line:1:ERROR: no 'Added:' version present\n";
- exit 2;
+ return 2;
+ }
+ if(!$seealso) {
+ print STDERR "$f:$line:1:ERROR: no 'See-also:' field present\n";
+ return 2;
}
last;
}
my $i = 0;
for my $k (@m) {
if(!$helplong{$k}) {
- print STDERR "WARN: $f see-alsos a non-existing option: $k\n";
+ print STDERR "$f:$line:1:WARN: see-also a non-existing option: $k\n";
}
my $l = manpageify($k);
my $sep = " and";
sub mainpage {
my (@files) = @_;
+ my $ret;
# show the page header
header("page-header");
# output docs for all options
foreach my $f (sort @files) {
- if(single($f, 0)) {
- print STDERR "Can't read $f?\n";
- }
+ $ret += single($f, 0);
}
header("page-footer");
+ exit $ret if($ret);
}
sub showonly {
Example: --get -d "tool=curl" -d "age=old" $URL
Example: --get -I -d "tool=curl" $URL
Added: 7.8.1
+See-also: data request
---
When used, this option will make all data specified with --data, --data-binary
or --data-urlencode to be used in an HTTP GET request instead of the POST
Category: curl
Example: -g "https://example.com/{[]}}}}"
Added: 7.6
+See-also: config disable
---
This option switches off the "URL globbing parser". When you set this option,
you can specify URLs that contain the letters {}[] without having curl itself
Added: 7.59.0
Category: connection
Example: --happy-eyeballs-timeout-ms 500 $URL
+See-also: max-time connect-timeout
---
Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
addresses for dual-stack hosts, giving IPv6 a head-start of the specified
Added: 7.60.0
Category: http proxy
Example: --haproxy-protocol $URL
+See-also: proxy
---
Send a HAProxy PROXY protocol v1 header at the beginning of the
connection. This is used by some load balancers and reverse proxies to
Category: http ftp file
Example: -I $URL
Added: 4.0
+See-also: get verbose trace-ascii
---
Fetch the headers only! HTTP-servers feature the command HEAD which this uses
to get nothing but the header of a document. When used on an FTP or FILE file,
Category: important curl
Example: --help all
Added: 4.0
+See-also: verbose
---
Usage help. This lists all commands of the <category>.
If no arg was provided, curl will display the most important
Added: 7.17.1
Category: sftp scp
Example: --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/
+See-also: hostpubsha256
---
Pass a string containing 32 hexadecimal digits. The string should
be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
Added: 7.80.0
Category: sftp scp
Example: --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/
+See-also: hostpubmd5
---
Pass a string containing a Base64-encoded SHA256 hash of the remote
host's public key. Curl will refuse the connection with the host
Added: 7.74.0
Category: http
Example: --hsts cache.txt $URL
+See-also: proto
---
This option enables HSTS for the transfer. If the file name points to an
existing HSTS cache file, that will be used. After a completed transfer, the
Category: http
Example: --http0.9 $URL
Added: 7.64.0
+See-also: http1.1 http2 http3
---
Tells curl to be fine with HTTP version 0.9 response.
Help: Use HTTP 1.0
Category: http
Example: --http1.0 $URL
+See-also: http0.9 http1.1
---
Tells curl to use HTTP version 1.0 instead of using its internally preferred
HTTP version.
Help: Use HTTP 1.1
Category: http
Example: --http1.1 $URL
+See-also: http1.1 http0.9
---
Tells curl to use HTTP version 1.1.
Help: Use HTTP 2 without HTTP/1.1 Upgrade
Category: http
Example: --http2-prior-knowledge $URL
+See-also: http2 http3
---
Tells curl to issue its non-TLS HTTP requests using HTTP/2 without HTTP/1.1
Upgrade. It requires prior knowledge that the server supports HTTP/2 straight
Category: http ftp
Example: --ignore-content-length $URL
Added: 7.14.1
+See-also: ftp-skip-pasv-ip
---
For HTTP, Ignore the Content-Length header. This is particularly useful for
servers running Apache 1.x, which will report incorrect Content-Length for
Added: 7.18.0
Category: connection
Example: --keepalive-time 20 $URL
+See-also: no-keepalive max-time
---
This option sets the time a connection needs to remain idle before sending
keepalive probes and the time between individual keepalive probes. It is
Category: tls
Example: --key-type DER --key here $URL
Added: 7.9.3
+See-also: key
---
Private key file type. Specify which type your --key provided private key
is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
Category: tls ssh
Example: --cert certificate --key here $URL
Added: 7.9.3
+See-also: key-type cert
---
Private key file name. Allows you to provide your private key in this separate
file. For SSH, if not specified, curl tries the following candidates in order:
Category: ftp
Example: --krb clear ftp://example.com/
Added: 7.3
+See-also: delegation ssl
---
Enable Kerberos authentication and use. The level must be entered and should
be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
Added: 7.16.1
Category: curl
Example: --libcurl client.c $URL
+See-also: verbose
---
Append this option to any ordinary curl command line, and you will get
libcurl-using C source code written to the file that does the equivalent
Example: --limit-rate 1000 $URL
Example: --limit-rate 10M $URL
Added: 7.10
+See-also: speed-limit speed-time
---
Specify the maximum transfer rate you want curl to use - for both downloads
and uploads. This feature is useful if you have a limited pipe and you would like
Added: 4.0
Category: ftp pop3
Example: --list-only ftp://example.com/dir/
+See-also: quote request
---
(FTP)
When listing an FTP directory, this switch forces a name-only view. This is
Added: 7.15.2
Category: connection
Example: --local-port 1000-3000 $URL
+See-also: globoff
---
Set a preferred single number or range (FROM-TO) of local port numbers to use
for the connection(s). Note that port numbers by nature are a scarce resource
Category: http
Example: -L $URL
Added: 4.9
+See-also: resolve alt-svc
---
If the server reports that the requested page has moved to a different
location (indicated with a Location: header and a 3XX response code), this
Added: 7.34.0
Category: imap pop3 smtp auth
Example: --login-options 'AUTH=*' imap://example.com
+See-also: user
---
Specify the login options to use during server authentication.
Added: 7.69.0
Category: smtp
Example: --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com
+See-also: mail-rcpt
---
When sending data to multiple recipients, by default curl will abort SMTP
conversation if at least one of the recipients causes RCPT TO command to
Added: 7.20.0
Category: smtp
Example: --mail-rcpt user@example.net smtp://example.com
+See-also: mail-rcpt-allowfails
---
Specify a single e-mail address, user name or mailing list name. Repeat this
option several times to send to multiple recipients.
Category: curl
Example: --manual
Added: 5.2
+See-also: verbose libcurl trace
---
Manual. Display the huge help text.
Category: http
Example: --max-redirs 3 --location $URL
Added: 7.5
+See-also: location
---
Set maximum number of redirections to follow. When --location is used, to
prevent curl from following too many redirects, by default, the limit is
Added: 7.27.0
Category: misc
Example: --metalink file $URL
+See-also: parallel
---
This option was previously used to specify a metalink resource. Metalink
support has been disabled in curl since 7.78.0 for security reasons.
Mutexed: netrc
Category: curl
Example: --netrc-file netrc $URL
+See-also: netrc user config
---
This option is similar to --netrc, except that you provide the path (absolute
or relative) to the netrc file that curl should use. You can only specify one
Category: curl
Example: --netrc $URL
Added: 4.6
+See-also: netrc-file config user
---
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
Category: curl
Example: $URL --next -d postthis www2.example.com
Example: -I $URL --next https://example.net/
+See-also: parallel config
---
Tells curl to use a separate operation for the following URL and associated
options. This allows you to send several URL requests, each with their own
Category: curl
Example: --no-buffer $URL
Added: 6.5
+See-also: progress-bar
---
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
Category: connection
Example: --no-keepalive $URL
Added: 7.18.0
+See-also: keepalive-time
---
Disables the use of keepalive messages on the TCP connection. curl otherwise
enables them by default.
Added: 7.16.0
Category: tls
Example: --no-sessionid $URL
+See-also: insecure
---
Disable curl's use of SSL session-ID caching. By default all transfers are
done using the cache. Note that while nothing should ever get hurt by
Added: 7.19.4
Category: proxy
Example: --noproxy "www.example" $URL
+See-also: proxy
---
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,
Category: auth
Example: --oauth2-bearer "mF_9.B5f-4.1JqM" $URL
Added: 7.33.0
+See-also: basic ntlm digest
---
Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
is used in conjunction with the user name which can be specified as part of
Added: 7.66.0
Category: connection curl
Example: --parallel $URL -o file1 $URL -o file2
+See-also: next verbose
---
Makes curl perform its transfers in parallel as compared to the regular serial
manner.
Category: ssh tls auth
Example: --pass secret --key file $URL
Added: 7.9.3
+See-also: key user
---
Passphrase for the private key.
Added: 7.42.0
Category: curl
Example: --path-as-is https://example.com/../../etc/passwd
+See-also: request-target
---
Tell curl to not handle sequences of /../ or /./ in the given URL
path. Normally curl will squash or merge them according to standards but with
Example: --pinnedpubkey keyfile $URL
Example: --pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
Added: 7.39.0
+See-also: hostpubsha256
---
Tells curl to use the specified public key file (or hashes) to verify the
peer. This can be a path to a file which contains a single public key in PEM
Added: 7.52.0
Category: proxy
Example: --preproxy socks5://proxy.example -x http://http.example $URL
+See-also: proxy socks5
---
Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
such a case curl first connects to the SOCKS proxy and then connects (through
Category: verbose
Example: -# -O $URL
Added: 5.10
+See-also: styled-output
---
Make curl display transfer progress as a simple progress bar instead of the
standard, more informational, meter.
Added: 7.45.0
Category: connection curl
Example: --proto-default https ftp.example.com
+See-also: proto proto-redir
---
Tells curl to use *protocol* for any URL missing a scheme name.
Added: 7.20.2
Category: connection curl
Example: --proto-redir =http,https $URL
+See-also: proto
---
Tells curl to limit what protocols it may use on redirect. Protocols denied by
--proto are not overridden by this option. See --proto for how protocols are
Help: Client certificate type for HTTPS proxy
Category: proxy tls
Example: --proxy-cert-type PEM --proxy-cert file -x https://proxy $URL
+See-also: proxy-cert
---
Same as --cert-type but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls
Example: --proxy-cert file -x https://proxy $URL
+See-also: proxy-cert-type
---
Same as --cert but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls
Example: --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy $URL
+See-also: ciphers curves proxy
---
Same as --ciphers but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls
Example: --proxy-crlfile rejects.txt -x https://proxy $URL
+See-also: crlfile proxy
---
Same as --crlfile but used in HTTPS proxy context.
Example: --proxy-header "X-First-Name: Joe" -x http://proxy $URL
Example: --proxy-header "User-Agent: surprise" -x http://proxy $URL
Example: --proxy-header "Host:" -x http://proxy $URL
+See-also: proxy
---
Extra header to include in the request when sending HTTP to a proxy. You may
specify any number of extra headers. This is the equivalent option to --header
Added: 7.52.0
Category: proxy tls
Example: --proxy-insecure -x https://proxy $URL
+See-also: proxy insecure
---
Same as --insecure but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls
Example: --proxy-key-type DER --proxy-key here -x https://proxy $URL
+See-also: proxy-key proxy
---
Same as --key-type but used in HTTPS proxy context.
Category: proxy tls
Example: --proxy-key here -x https://proxy $URL
Added: 7.52.0
+See-also: proxy-key-type proxy
---
Same as --key but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls auth
Example: --proxy-pass secret --proxy-key here -x https://proxy $URL
+See-also: proxy proxy-key
---
Same as --pass but used in HTTPS proxy context.
Example: --proxy-pinnedpubkey keyfile $URL
Example: --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' $URL
Added: 7.59.0
+See-also: pinnedpubkey proxy
---
Tells curl to use the specified public key file (or hashes) to verify the
proxy. This can be a path to a file which contains a single public key in PEM
Added: 7.43.0
Category: proxy tls
Example: --proxy-service-name "shrubbery" -x proxy $URL
+See-also: service-name proxy
---
This option allows you to change the service name for proxy negotiation.
Added: 7.52.0
Category: proxy tls
Example: --proxy-ssl-allow-beast -x https://proxy $URL
+See-also: ssl-allow-beast proxy
---
Same as --ssl-allow-beast but used in HTTPS proxy context.
Added: 7.77.0
Category: proxy tls
Example: --proxy-ssl-auto-client-cert -x https://proxy $URL
+See-also: ssl-auto-client-cert proxy
---
Same as --ssl-auto-client-cert but used in HTTPS proxy context.
Category: proxy tls
Example: --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy $URL
Added: 7.61.0
+See-also: tls13-ciphers curves
---
Specifies which cipher suites to use in the connection to your HTTPS proxy
when it negotiates TLS 1.3. The list of ciphers suites must specify valid
Added: 7.52.0
Category: proxy tls auth
Example: --proxy-tlsauthtype SRP -x https://proxy $URL
+See-also: proxy proxy-tlsuser
---
Same as --tlsauthtype but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls auth
Example: --proxy-tlspassword passwd -x https://proxy $URL
+See-also: proxy proxy-tlsuser
---
Same as --tlspassword but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls auth
Example: --proxy-tlsuser smith -x https://proxy $URL
+See-also: proxy proxy-tlspassword
---
Same as --tlsuser but used in HTTPS proxy context.
Added: 7.52.0
Category: proxy tls auth
Example: --proxy-tlsv1 -x https://proxy $URL
+See-also: proxy
---
Same as --tlsv1 but used in HTTPS proxy context.
Category: proxy auth
Example: --proxy-user name:pwd -x proxy $URL
Added: 4.0
+See-also: proxy-pass
---
Specify the user name and password to use for proxy authentication.
Category: proxy
Example: --proxy http://proxy.example $URL
Added: 4.0
+See-also: socks5 proxy-basic
---
Use the specified proxy.
Category: proxy
Example: --proxy1.0 -x http://proxy $URL
Added: 7.19.4
+See-also: proxy socks5 preproxy
---
Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
assumed at port 1080.
Category: sftp scp auth
Example: --pubkey file.pub sftp://example.com/
Added: 7.16.2
+See-also: pass
---
Public key file name. Allows you to provide your public key in this separate
file.
Category: ftp sftp
Example: --quote "DELE file" ftp://example.com/foo
Added: 5.3
+See-also: request
---
Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
sent BEFORE the transfer takes place (just after the initial PWD command in an
Category: misc
Example: --random-file rubbish $URL
Added: 7.7
+See-also: egd-file
---
Specify the path name to file containing what will be considered as random
data. The data may be used to seed the random engine for SSL connections. See
Category: http ftp sftp file
Example: --range 22-44 $URL
Added: 4.0
+See-also: continue-at append
---
Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
server or a local FILE. Ranges can be specified in a number of ways.
Protocols: HTTP
Category: http
Example: --raw $URL
+See-also: tr-encoding
---
When used, it disables all internal HTTP decoding of content or transfer
encodings and instead makes them passed on unaltered, raw.
Category: output
Example: -OJ https://example.com/file
Added: 7.20.0
+See-also: remote-name
---
This option tells the --remote-name option to use the server-specified
Content-Disposition filename instead of extracting a filename from the URL.
Added: 7.19.0
Category: output
Example: --remote-name-all ftp://example.com/file1 ftp://example.com/file2
+See-also: remote-name
---
This option changes the default action for all given URLs to be dealt with as
if --remote-name were used for each one. So if you want to disable that for a
Category: important output
Example: -O https://example.com/filename
Added: 4.0
+See-also: remote-name-all
---
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.)
Category: output
Example: --remote-time -o foo $URL
Added: 7.9
+See-also: remote-name time-cond
---
When used, this will make curl attempt to figure out the timestamp of the
remote file, and if that is available make the local file get that same
Added: 7.55.0
Category: http
Example: --request-target "*" -X OPTIONS $URL
+See-also: request
---
Tells curl to use an alternative "target" (path) instead of using the path as
provided in the URL. Particularly useful when wanting to issue HTTP requests
Example: -X "DELETE" $URL
Example: -X NLST ftp://example.com/
Added: 6.0
+See-also: request-target
---
(HTTP) Specifies a custom request method to use when communicating with the
HTTP server. The specified request method will be used instead of the method
Added: 7.21.3
Category: connection
Example: --resolve example.com:443:127.0.0.1 $URL
+See-also: connect-to alt-svc
---
Provide a custom address for a specific host and port pair. Using this, you
can make the curl requests(s) use a specified address and prevent the
Added: 7.71.0
Category: curl
Example: --retry-all-errors $URL
+See-also: retry
---
Retry on any error. This option is used together with --retry.
Added: 7.52.0
Category: curl
Example: --retry-connrefused --retry $URL
+See-also: retry retry-all-errors
---
In addition to the other conditions, consider ECONNREFUSED as a transient
error too for --retry. This option is used together with --retry.
Added: 7.12.3
Category: curl
Example: --retry-delay 5 --retry $URL
+See-also: retry
---
Make curl sleep this amount of time before each retry when a transfer has
failed with a transient error (it changes the default backoff time algorithm
Added: 7.12.3
Category: curl
Example: --retry-max-time 30 --retry 10 $URL
+See-also: retry
---
The retry timer is reset before the first transfer attempt. Retries will be
done as usual (see --retry) as long as the timer has not reached this given
Help: Retry request if transient problems occur
Category: curl
Example: --retry 7 $URL
+See-also: retry-max-time
---
If a transient error is returned when curl tries to perform a transfer, it
will retry this number of times before giving up. Setting the number to 0
Added: 7.66.0
Category: auth
Example: --sasl-authzid zid imap://example.com/
+See-also: login-options
---
Use this authorisation identity (authzid), during SASL PLAIN authentication,
in addition to the authentication identity (authcid) as specified by --user.
Added: 7.31.0
Category: auth
Example: --sasl-ir imap://example.com/
+See-also: sasl-authzid
---
Enable initial response in SASL authentication.
Added: 7.43.0
Category: misc
Example: --service-name sockd/server $URL
+See-also: negotiate proxy-service-name
---
This option allows you to change the service name for SPNEGO.
Added: 7.15.2
Category: proxy
Example: --socks4 hostname:4096 $URL
+See-also: socks4a socks5 socks5-hostname
---
Use the specified SOCKS4 proxy. If the port number is not specified, it is
assumed at port 1080. Using this socket type make curl resolve the host name
Added: 7.18.0
Category: proxy
Example: --socks4a hostname:4096 $URL
+See-also: socks4 socks5 socks5-hostname
---
Use the specified SOCKS4a proxy. If the port number is not specified, it is
assumed at port 1080. This asks the proxy to resolve the host name.
Added: 7.55.0
Category: proxy auth
Example: --socks5-basic --socks5 hostname:4096 $URL
+See-also: socks5
---
Tells curl to use username/password authentication when connecting to a SOCKS5
proxy. The username/password authentication is enabled by default. Use
Added: 7.19.4
Category: proxy auth
Example: --socks5-gssapi-nec --socks5 hostname:4096 $URL
+See-also: socks5
---
As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
says in section 4.3/4.4 it should be protected, but the NEC reference
Added: 7.19.4
Category: proxy auth
Example: --socks5-gssapi-service sockd --socks5 hostname:4096 $URL
+See-also: socks5
---
The default service name for a socks server is rcmd/server-fqdn. This option
allows you to change it.
Added: 7.55.0
Category: proxy auth
Example: --socks5-gssapi --socks5 hostname:4096 $URL
+See-also: socks5
---
Tells curl to use GSS-API authentication when connecting to a SOCKS5 proxy.
The GSS-API authentication is enabled by default (if curl is compiled with
Added: 7.18.0
Category: proxy
Example: --socks5-hostname proxy.example:7000 $URL
+See-also: socks5 socks4a
---
Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
the port number is not specified, it is assumed at port 1080.
Added: 7.18.0
Category: proxy
Example: --socks5 proxy.example:7000 $URL
+See-also: socks5-hostname socks4a
---
Use the specified SOCKS5 proxy - but resolve the host name locally. If the
port number is not specified, it is assumed at port 1080.
Category: connection
Example: --speed-limit 300 --speed-time 10 $URL
Added: 4.7
+See-also: speed-time limit-rate max-time
---
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 --speed-time and is
Category: connection
Example: --speed-limit 300 --speed-time 10 $URL
Added: 4.7
+See-also: speed-limit limit-rate
---
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
Added: 7.25.0
Category: tls
Example: --ssl-allow-beast $URL
+See-also: proxy-ssl-allow-beast insecure
---
This option tells curl to not work around a security flaw in the SSL3 and
TLS1.0 protocols known as BEAST. If this option is not used, the SSL layer
Added: 7.44.0
Category: tls
Example: --ssl-no-revoke $URL
+See-also: crlfile
---
(Schannel) This option tells curl to disable certificate revocation checks.
WARNING: this option loosens the SSL security, and by using this flag you ask
Added: 7.20.0
Category: tls
Example: --ssl-reqd ftp://example.com
+See-also: ssl insecure
---
Require SSL/TLS for the connection. Terminates the connection if the server
does not support SSL/TLS.
Added: 7.70.0
Category: tls
Example: --ssl-revoke-best-effort $URL
+See-also: crlfile insecure
---
(Schannel) This option tells curl to ignore certificate revocation checks when
they failed due to missing/offline distribution points for the revocation check
Added: 7.20.0
Category: tls
Example: --ssl pop3://example.com/
+See-also: insecure ciphers
---
Try to use SSL/TLS for the connection. Reverts to a non-secure connection if
the server does not support SSL/TLS. See also --ftp-ssl-control and --ssl-reqd
Added: 7.61.0
Category: verbose
Example: --styled-output -I $URL
+See-also: head verbose
---
Enables the automatic use of bold font styles when writing HTTP headers to the
terminal. Use --no-styled-output to switch them off.
Help: Use TCP Fast Open
Category: connection
Example: --tcp-fastopen $URL
+See-also: false-start
---
Enable use of TCP Fast Open (RFC7413).
Added: 7.11.2
Category: connection
Example: --tcp-nodelay $URL
+See-also: no-buffer
---
Turn on the TCP_NODELAY option. See the *curl_easy_setopt(3)* man page for
details about this option.
Category: telnet
Example: -t TTYPE=vt100 telnet://example.com/
Added: 7.7
+See-also: config
---
Pass options to the telnet protocol. Supported options are:
Added: 7.20.0
Category: tftp
Example: --tftp-blksize 1024 tftp://example.com/file
+See-also: tftp-no-options
---
Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
try to use when transferring data to or from a TFTP server. By default 512
Added: 7.48.0
Category: tftp
Example: --tftp-no-options tftp://192.168.0.1/
+See-also: tftp-blksize
---
Tells curl not to send TFTP options requests.
Example: -z "-Wed 01 Sep 2021 12:18:00" $URL
Example: -z file $URL
Added: 5.8
+See-also: etag-compare remote-time
---
Request 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
Category: tls
Example: --tls13-ciphers TLS_AES_128_GCM_SHA256 $URL
Added: 7.61.0
+See-also: ciphers curves
---
Specifies which cipher suites to use in the connection if it negotiates TLS
1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
Added: 7.21.4
Category: tls auth
Example: --tlsauthtype SRP $URL
+See-also: tlsuser
---
Set TLS authentication type. Currently, the only supported option is "SRP",
for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
Added: 7.21.4
Category: tls auth
Example: --tlspassword pwd --tlsuser user $URL
+See-also: tlsuser
---
Set password for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlsuser also be set.
Added: 7.21.4
Category: tls auth
Example: --tlspassword pwd --tlsuser user $URL
+See-also: tlspassword
---
Set username for use with the TLS authentication method specified with
--tlsauthtype. Requires that --tlspassword also is set.
Added: 7.34.0
Category: tls
Example: --tlsv1.0 $URL
+See-also: tlsv1.3
---
Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server.
Added: 7.34.0
Category: tls
Example: --tlsv1.1 $URL
+See-also: tlsv1.3
---
Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
Added: 7.34.0
Category: tls
Example: --tlsv1.2 $URL
+See-also: tlsv1.3
---
Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
Added: 7.52.0
Category: tls
Example: --tlsv1.3 $URL
+See-also: tlsv1.2
---
Forces curl to use TLS version 1.3 or later when connecting to a remote TLS
server.
Protocols: HTTP
Category: http
Example: --tr-encoding $URL
+See-also: compressed
---
Request a compressed Transfer-Encoding response using one of the algorithms
curl supports, and uncompress the data while receiving it.
Category: verbose
Example: --trace-ascii log.txt $URL
Added: 7.9.7
+See-also: verbose trace
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
Added: 7.14.0
Category: verbose
Example: --trace-time --trace-ascii output $URL
+See-also: trace verbose
---
Prepends a time stamp to each trace or verbose line that curl displays.
Category: verbose
Example: --trace log.txt $URL
Added: 7.9.7
+See-also: trace-ascii trace-time
---
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
Added: 7.40.0
Protocols: HTTP
Category: connection
+See-also: abstract-unix-socket
Example: --unix-socket socket-path $URL
---
Connect through this Unix domain socket, instead of using the network.
Example: -T "img[1-1000].png" ftp://ftp.example.com/
Example: --upload-file "{file1,file2}" $URL
Added: 4.0
+See-also: get head
---
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
Category: curl
Example: --url $URL
Added: 7.5
+See-also: next config
---
Specify a URL to fetch. This option is mostly handy when you want to specify
URL(s) in a config file.
Category: misc
Example: -B ftp://example.com/README
Added: 5.0
+See-also: crlf data-ascii
---
Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
ends with ";type=A". This option causes data sent to stdout to be in text mode
Category: important http
Example: -A "Agent 007" $URL
Added: 4.5.1
+See-also: header proxy-header
---
Specify the User-Agent string to send to the HTTP server. To encode blanks in
the string, surround the string with single quote marks. This header can also
Category: important auth
Example: -u user:secret $URL
Added: 4.0
+See-also: netrc config
---
Specify the user name and password to use for server authentication. Overrides
--netrc and --netrc-optional.
Category: important curl
Example: --version
Added: 4.0
+See-also: help manual
---
Displays information about curl and the libcurl version it uses.
Category: verbose
Example: -w '%{http_code}\\n' $URL
Added: 6.5
+See-also: verbose head
---
Make curl display information on stdout after a completed transfer. The format
is a string that may contain plain text mixed with any number of
Category: misc
Example: --xattr -o storage $URL
Added: 7.21.3
+See-also: remote-time write-out verbose
---
When saving output to a file, this option tells curl to store certain file
metadata in extended file attributes. Currently, the URL is stored in the