--abstract-unix-socket <path>
Example:curl --abstract-unix-socket /var/run/docker.sock http://localhost/images/json
--alt-svc <parameters>
Example:curl --alt-svc 'quic=":443"; ma=2592000; v="46,47,48"' https://example.com
--anyauth
curl
finds and uses the most secure authentication method for the given HTTP URL.Example: curl --anyauth --user user:password https://example.com
-a, --append
Example:curl --upload-file local --append ftp://example.com/
--aws-sigv4 <provider1[:provider2[:region[:service]]]>
Example: curl --aws-sigv4 "aws:amz:east-2:es" --user "key:secret" https://example.com
--basic
Example: curl -u name:password --basic https://example.com
--cacert <file>
Example: curl --cacert CA-file.txt https://example.com
--capath <dir>
Example: curl --capath /local/directory https://example.com
--cert-status
Example: curl -d "name=curl" https://example.com
--cert-type <type>
PEM
(default), DER
, ENG
, and P12
.Example: curl --cert-type ENG --cert file https://example.com
-E, --cert <certificate[:password]>
Example: curl -d "name=curl" https://example.com
--ciphers <list of ciphers>
Example: curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com
--compressed-ssh
Example: curl --compressed-ssh sftp://example.com/
--compressed
Example: curl --compressed https://example.com
-K, --config <file>
curl
arguments instead of writing them on the command line.Example: curl --config file.txt https://example.com
--connect-timeout <fractional seconds>
curl
connection may last.Example: curl --connect-timeout 30 https://example.com
--connect-to <HOST1:PORT1:HOST2:PORT2>
Example: curl --connect-to example.com:443:example.net:8443 https://example.com
-C, --continue-at <offset>
curl -C 400 https://example.com
-c, --cookie-jar <filename>
curl -c store.txt https://example.com
-b, --cookie <data|filename>
Example: curl -b cookiefile https://example.com
--create-dirs
--output
option.Example: curl --create-dirs --output local/dir/file https://example.com
--create-file-mode <mode>
Example: curl --create-file-mode 0777 -T localfile sftp://example.com/new
--crlf
curl --crlf -T file ftp://example.com/
--crlfile <file>
curl --crlfile revoke.txt https://example.com
--curves <algorithm list>
Example: curl --curves X25519 https://example.com
--data-ascii <data>
-d
, --data
. Example: curl --data-ascii @file https://example.com
--data-binary <data>
curl --data-binary @filename https://example.com
--data-raw <data>
-d
, --data
, but the (@) character is not treated differently from the rest.curl --data-raw "@at@at@" https://example.com
--data-urlencode <data>
-d
, --data
, but perform URL encoding. Example: curl --data-urlencode name=val https://example.com
-d, --data <data>
Example: curl -d "name=curl" https://example.com
--delegation <LEVEL>
Example: curl --delegation "always" https://example.com
--digest
Example: curl -u name:password --digest https://example.com
--disable-eprt
Example: curl --disable-eprt ftp://example.com/
--disable-epsv
Example: curl --disable-epsv ftp://example.com/
-q, --disable
curl -q https://example.com
--disallow-username-in-url
Example: curl --disallow-username-in-url https://user:password@example.com
--dns-interface <interface>
Example: curl --dns-interface eth0 https://example.com
--dns-ipv4-addr <address>
Example: curl --dns-ipv4-addr 10.1.2.3 https://example.com
--dns-ipv6-addr <address>
Example: curl --dns-ipv6-addr 2a04:4e42::561 https://example.com
--dns-servers <addresses>
Example: curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com
--doh-cert-status
--cert-status
for DNS-over-HTTPS. Example: curl --doh-cert-status --doh-url https://doh.server https://example.com
--doh-insecure
-k
, --insecure
for DoH. Example: curl --doh-insecure --doh-url https://doh.server https://example.com
--doh-url <URL>
Example: curl --doh-url https://doh.server https://example.com
-D, --dump-header <filename>
Example: curl --dump-header store.txt https://example.com
--egd-file <file>
Example: curl --egd-file /path/here https://example.com
--engine <name>
Example: curl --engine flavor https://example.com
--etag-compare <file>
Example: curl --etag-compare etag.txt https://example.com
--etag-save <file>
Example: curl --etag-save etag.txt https://example.com
--expect100-timeout <seconds>
Example: curl --expect100-timeout 2.5 -T file https://example.com
-f, --fail
Example: curl --fail https://example.com
-F, --form <name=content>
@
sign forces the content to be a file. The <
sign extracts only the content part of the file. Example: curl --form "name=curl" --form "file=@loadthis" https://example.com
--fail-early
curl
to fail and exit when it detects the first error in transfer. Example: curl --fail-early https://example.com
--fail-with-body
curl
saves the content and returns error 22. Example: curl --fail-with-body https://example.com
--false-start
Example: curl --false-start https://example.com
--form-string <name=string>
-F
, --form
, but the value strings are processed literally. Example: curl --form-string "data" https://example.com
--ftp-account <data>
Example: curl --ftp-account "account_data" ftp://example.com/
--ftp-alternative-to-user <command>
Example: curl --ftp-alternative-to-user "U53r" ftp://example.com
--ftp-create-dirs
curl
will attempt to create it. Example: curl --ftp-create-dirs -T file ftp://example.com/dirs/one/file
--ftp-method <method>
multicwd
, nocwd
, and singlecwd
. Example: curl --ftp-method multicwd ftp://example.com/dir1/dir2/file
--ftp-pasv
Example: curl --ftp-pasv ftp://example.com/
-P, --ftp-port <address>
Example: curl -P eth0 ftp:/example.com
--ftp-pret
Example: curl --ftp-pret ftp://example.com/
--ftp-skip-pasv-ip
curl
will use the control connection IP. Example: curl --ftp-skip-pasv-ip ftp://example.com/
--ftp-ssl-ccc-mode <active/passive>
Example: curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/
--ftp-ssl-ccc
Example: curl --ftp-ssl-ccc ftps://example.com/
--ftp-ssl-control
Example: curl --ftp-ssl-control ftp://example.com
-G, --get
Example: curl --get -d "tool=curl" -d "age=old" https://example.com
-g, --globoff
Example: curl -g "https://example.com/{[]}}}}"
--happy-eyeballs-timeout-ms <milliseconds>
Example: curl --happy-eyeballs-timeout-ms 500 https://example.com
--haproxy-protocol
Example: curl --haproxy-protocol https://example.com
-I, --head
Example: curl -I https://example.com
-H, --header <header/@file>
Example: curl -H "X-First-Name: Joe" https://example.com
-h, --help <category>
all
lists all the available options. Example: curl --help all
--hostpubmd5 <md5>
Example: curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/
--hsts <file name>
Example: curl --hsts cache.txt https://example.com
--http0.9
Example: curl --http0.9 https://example.com
-0, --http1.0
Example: curl --http1.0 https://example.com
--http1.1
Example: curl --http1.1 https://example.com
--http2-prior-knowledge
Example: curl --http2-prior-knowledge https://example.com
--http2
Example: curl --http2 https://example.com
--http3
Example: curl --http3 https://example.com
--ignore-content-length
Example: curl --ignore-content-length https://example.com
-i, --include
Example: curl -i https://example.com
-k, --insecure
curl
to work with insecure connections. Example: curl --insecure https://example.com
--interface <name>
Example: curl --interface eth0 https://example.com
-4, --ipv4
Example: curl --ipv4 https://example.com
-6, --ipv6
Example: curl --ipv6 https://example.com
-j, --junk-session-cookies
Example: curl --junk-session-cookies -b cookies.txt https://example.com
--keepalive-time <seconds>
Example: curl --keepalive-time 30 https://example.com
--key-type <type>
PEM
(default), DER
, and ENG
. Example: curl --key-type ENG --key here https://example.com
--key <key>
Example: curl --cert certificate --key here https://example.com
--krb <level>
clear
, safe
, confidential
, and private
(default). Example: curl --krb clear ftp://example.com/
--libcurl <file>
Example: curl --libcurl client.c https://example.com
--limit-rate <speed>
Example: curl --limit-rate 100K https://example.com
-l, --list-only
Example: curl --list-only ftp://example.com/dir/
--local-port <num/range>
Example: curl --local-port 1000-3000 https://example.com
--location-trusted
-L
, --location
, but enables you to send a name and password to all redirections. Example: curl --location-trusted -u user:pass https://example.com
-L, --location
curl
to follow any redirections. Example: curl -L https://example.com
--login-options <options>
Example: curl --login-options 'AUTH=*' imap://example.com
--mail-auth <address>
Example: curl --mail-auth user@example.come -T mail smtp://example.com/
--mail-from <address>
Example: curl --mail-from user@example.com -T mail smtp://example.com/
--mail-rcpt-allowfails
curl
to continue with the SMTP conversation if one of the recipients fails. Example: curl --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com
--mail-rcpt <address>
Example: curl --mail-rcpt user@example.net smtp://example.com
-M, --manual
curl
manual. Example: curl --manual
--max-filesize <bytes>
Example:
curl --max-filesize 500K https://example.com
--max-redirs <num>
--location
is active. Example: curl --max-redirs 3 --location https://example.com
-m, --max-time <fractional seconds>
Example: curl --max-time 5.52 https://example.com
--metalink
curl
. Example: curl --metalink file https://example.com
-n, --netrc
Example: curl --netrc https://example.com
-N, --no-buffer
Example: curl --no-buffer https://example.com
--negotiate
Example: curl --negotiate -u : https://example.com
--netrc-file <filename>
--n
, --netrc
, but allows you to specify the file to be used. Example: curl --netrc-file netrc https://example.com
--netrc-optional
--n
, --netrc
, but using netrc is optional. Example: curl --netrc-optional https://example.com
-:, --next
Example: curl -I https://example.com --next https://example.net/
--no-alpn
Example: curl --no-alpn https://example.com
--no-keepalive
Example: curl --no-keepalive https://example.com
--no-npn
Example: curl --no-npn https://example.com
--no-progress-meter
Example: curl --no-progress-meter -o store https://example.com
--no-sessionid
Example: curl --no-sessionid https://example.com
--noproxy <no-proxy-list>
Example: curl --noproxy "www.example" https://example.com
--ntlm
Example:curl --ntlm -u user:password https://example.com
--ntlm-wb
--ntlm
, but also hands authentication to ntlmauth. Example: curl --ntlm-wb -u user:password https://example.com
-o, --output <file>
Example: curl -o file https://example.com -o file2 https://example.net
--oauth2-bearer <token>
Example: curl --oauth2-bearer "mF_9.B5f-4.1JqM" https://example.com
--output-dir <dir>
Example: curl --output-dir "tmp" -O https://example.com
--parallel-immediate
Example: curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2
--parallel-max <num>
Example: curl --parallel-max 100 -Z https://example.com ftp://example.com/
-Z, --parallel
Example: curl --parallel https://example.com -o file1 https://example.com -o file2
--pass <phrase>
Example: curl --pass secret --key file https://example.com
--path-as-is
curl
from merging /./
and /../
sequences. Example: curl --path-as-is https://example.com/../../etc/passwd
-pinnedpubkey <hashes>
curl
to use. Example: curl --pinnedpubkey keyfile https://example.com
--post301
curl
from converting POST to GET requests after a 301 redirection. Example: curl --post301 --location -d "data" https://example.com
--post302
curl
from converting POST to GET requests after a 302 redirection. curl --post302 --location -d "data" https://example.com
--post303
curl
from converting POST to GET requests after a 303 redirection. Example: curl --post303 --location -d "data" https://example.com
--preproxy [protocol://]host[:port]
Example: curl --preproxy socks5://proxy.example -x http://http.example https://example.com
-#, --progress-bar
Example: curl -# -O https://example.com
--proto-default <protocol>
curl
should use for URLs without a scheme name. Example: curl --proto-default https ftp.example.com
--proto-redir <protocols>
curl
should use on redirection. Example: curl --proto-redir =http,https https://example.com
--proto <protocols>
curl
should use for transfers. Example: curl --proto =http,https,sftp https://example.com
--proxy-anyauth
curl
should choose an appropriate authentication method. Example: curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com
--proxy-basic
Example: curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com
--proxy-cacert <file>
--cacert
for HTTPS proxies. Example: curl --proxy-cacert CA-file.txt -x https://proxy https://example.com
--proxy-capath <dir>
--capath
for HTTPS proxies.Example:curl --proxy-capath /local/directory -x https://proxy https://example.com
--proxy-cert-type <type>
--cert-type
for HTTPS proxies. Example: curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com
--proxy-cert <cert[:passwd]>
-E
, --cert
for HTTPS proxies. Example: curl --proxy-cert file -x https://proxy https://example.com
--proxy-ciphers <list>
--ciphers
for HTTPS proxies.curl --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy https://example.com
--proxy-crlfile <file>
--crlfile
for HTTPS proxies. Example: curl --proxy-crlfile rejects.txt -x https://proxy https://example.com
--proxy-digest
Example: curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com
--proxy-header <header/@file>
-H
, --header
for proxy communication. Example: curl --proxy-header "Host:" -x http://proxy https://example.com
--proxy-insecure
-k
, --insecure
for HTTPS proxies. Example: curl --proxy-insecure -x https://proxy https://example.com
--proxy-key-type <type>
--key-type
for HTTPS proxies. Example: curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com
--proxy-key <key>
--key
for HTTPS proxies. Example: curl --proxy-key here -x https://proxy https://example.com
--proxy-negotiate
--negotiate
for proxy communication. Example: curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com
--proxy-ntlm
Example: curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com
--proxy-pass <phrase>
--pass
for HTTPS proxies. Example: curl --proxy-pass secret --proxy-key here -x https://proxy https://example.com
--proxy-pinnedpubkey <hashes>
Example: curl --proxy-pinnedpubkey keyfile https://example.com
--proxy-service-name <name>
Example: curl --proxy-service-name "shrubbery" -x proxy https://example.com
--proxy-ssl-allow-beast
--ssl-allow-beast
for HTTPS proxies. Example: curl --proxy-ssl-allow-beast -x https://proxy https://example.com
--proxy-ssl-auto-client-cert
--ssl-auto-client-cert
for HTTPS proxies. Example: curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com
--proxy-tls13-ciphers <ciphersuite list>
Example: curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com
--proxy-tlsauthtype <type>
--tlsauthtype
for HTTPS proxies. Example: curl --proxy-tlsauthtype SRP -x https://proxy https://example.com
--proxy-tlspassword <string>
--tlspassword
for HTTPS proxies. Example: curl --proxy-tlspassword passwd -x https://proxy https://example.com
--proxy-tlsuser <name>
--tlsuser
for HTTPS proxies. Example: curl --proxy-tlsuser smith -x https://proxy https://example.com
--proxy-tlsv1
-1
, --tlsv1
for HTTPS proxies. Example: curl --proxy-tlsv1 -x https://proxy https://example.com
-U, --proxy-user <user:password>
Example: curl --proxy-user name:pwd -x proxy https://example.com
-x, --proxy [protocol://]host[:port]
Example: curl --proxy http://proxy.example https://example.com
--proxy1.0 <host[:port]>
Example: curl --proxy1.0 -x http://proxy https://example.com
-p, --proxytunnel
Example: curl --proxytunnel -x http://proxy https://example.com
--pubkey <key>
Example: curl --pubkey file.pub sftp://example.com/
-Q, --quote <command>
Example: curl --quote "rm file" ftp://example.com/foo
--random-file <file>
Example: curl --random-file rubbish https://example.com
-r, --range <range>
Example: curl --range 40-80 https://example.com
--raw
Example: curl --raw https://example.com
-e, --referer <URL>
Example: curl --referer "https://test.example" https://example.com
-J, --remote-header-name
Example: curl -OJ https://example.com/file
-O, --remote-name
Example: curl -O https://example.com/filename
--remote-name-all
-O
, --remote-name
option to all the URLs. Example: curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2
-R, --remote-time
Example: curl --remote-time -o foo https://example.com
--request-target <path>
Example: curl --request-target "*" -X OPTIONS https://example.com
-X, --request <command>
Example: curl -X "DELETE" https://example.com
--resolve <[+]host:port:addr[,addr]...>
Example: curl --resolve example.com:443:127.0.0.1 https://example.com
--retry-all-errors
Example: curl --retry-all-errors https://example.com
--retry-connrefused
--retry
. Example: curl --retry-connrefused --retry https://example.com
--retry-delay <seconds>
Example: curl --retry-delay 5 --retry https://example.com
--retry-max-time <seconds>
--retry
attempts. Example: curl --retry-max-time 30 --retry 10 https://example.com
--retry <num>
curl
encounters an error. Example: curl --retry 7 https://example.com
--sasl-authzid <identity>
Example: curl --sasl-authzid zid imap://example.com/
--sasl-ir
Example: curl --sasl-ir imap://example.com/
--service-name <name>
Example: curl --service-name sockd/server https://example.com
-s, --silent
curl
. Example: curl -s https://example.com
-S, --show-error
-s
, --silent
option enabled. Example: curl --show-error --silent https://example.com
--socks4 <host[:port]>
Example: curl --socks4 hostname:4096 https://example.com
--socks4a <host[:port]>
Example: curl --socks4a hostname:4096 https://example.com
--socks5-basic
Example: curl --socks5-basic --socks5 hostname:4096 https://example.com
--socks5-gssapi-nec
Example: curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com
--socks5-gssapi-service <name>
Example: curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com
--socks5-gssapi
Example: curl --socks5-gssapi --socks5 hostname:4096 https://example.com
--socks5-hostname <host[:port]>
Example: curl --socks5-hostname proxy.example:7000 https://example.com
--socks5 <host[:port]>
Example: curl --socks5 proxy.example:7000 https://example.com
-Y, --speed-limit <speed>
Example: curl --speed-limit 300 --speed-time 10 https://example.com
-y, --speed-time <seconds>
Example: curl --speed-limit 300 --speed-time 10 https://example.com
--ssl-allow-beast
curl
to ignore the BEAST security flaw in the SSL3 and TLS1.0 protocols. Example: curl --ssl-allow-beast https://example.com
--ssl-auto-client-cert
Example: curl --ssl-auto-client-cert https://example.com
--ssl-no-revoke
Example: curl --ssl-no-revoke https://example.com
--ssl-reqd
Example: curl --ssl-reqd ftp://example.com
--ssl-revoke-best-effort
Example: curl --ssl-revoke-best-effort https://example.com
--ssl
Example: curl --ssl pop3://example.com/
-2, --sslv2
curl
versions ignore this request due to security concerns with SSLv2. Example: curl --sslv2 https://example.com
-3, --sslv3
curl
versions ignore this request due to security concerns with SSLv3. Example: curl --sslv3 https://example.com
--stderr <file>
-
) symbol tells curl
to output stderr to stdout. Example: curl --stderr output.txt https://example.com
--styled-output
curl --styled-output -I https://example.com
--suppress-connect-headers
curl
from outputting CONNECT headers. Example: curl --suppress-connect-headers --include -x proxy https://example.com
--tcp-fastopen
Example: curl --tcp-fastopen https://example.com
--tcp-nodelay
Example: curl --tcp-nodelay https://example.com
-t, --telnet-option <opt=val>
TTYPE
, XDISPLOC
, and NEW_ENV
options to the telnet protocol. Example: curl -t TTYPE=vt100 telnet://example.com/
--tftp-blksize <value>
Example: curl --tftp-blksize 1024 tftp://example.com/file
--tftp-no-options
curl
from sending requests for TFTP options. Example: curl --tftp-no-options tftp://192.168.0.1/
-z, --time-cond <time>
Example:
curl -z "Wed 01 Sep 2021 12:18:00" https://example.com
--tls-max <VERSION>
Example: curl --tls-max 1.2 https://example.com
--tls13-ciphers <ciphersuite list>
Example: curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com
--tlsauthtype <type>
Example: curl --tlsauthtype SRP https://example.com
--tlspassword <string>
Example: curl --tlspassword pwd --tlsuser user https://example.com
--tlsuser <name>
Example: curl --tlspassword pwd --tlsuser user https://example.com
--tlsv1.0
curl
to use TLS 1.0 or newer. Example: curl --tlsv1.0 https://example.com
--tlsv1.1
curl
to use TLS 1.1 or newer. Example: curl --tlsv1.1 https://example.com
--tlsv1.2
curl
to use TLS 1.2 or newer. Example: curl --tlsv1.2 https://example.com
--tlsv1.3
curl
to use TLS1.3 or newer. Example: curl --tlsv1.3 https://example.com
-1, --tlsv1
curl
should use at least 1.x version of TLS. Example: curl --tlsv1 https://example.com
--tr-encoding
Example: curl --tr-encoding https://example.com
--trace-ascii <file>
Example: curl --trace-ascii log.txt https://example.com
--trace-time
Example: curl --trace-time --trace-ascii output https://example.com
--trace <file>
Example: curl --trace log.txt https://example.com
--unix-socket <path>
Example: curl --unix-socket socket-path https://example.com
-T, --upload-file <file>
Example: curl -T "img[1-1000].png" ftp://ftp.example.com/
--url <url>
Example: curl --url https://example.com
-B, --use-ascii
Example: curl -B ftp://example.com/README
-A, --user-agent <name>
Example: curl -A "Agent 007" https://example.com
-u, --user <user:password>
Example: curl -u user:secret https://example.com
-v, --verbose
curl
to be verbose.Example: curl --verbose https://example.com
-V, --version
curl
and libcurl. Example: curl --version
-w, --write-out <format>
curl
to show information about the completed transfer on stdout. Example: curl -w '%{http_code}\n' https://example.com
--xattr
Example: curl --xattr -o storage https://example.com