curl(1) curl Manual curl(1) (NAME) curl - (URL) (SYNOPSIS) curl [options / URLs] (DESCRIPTION) curl (URL) . : DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS LDAP LDAPS MQTT MQTTS POP3 POP3S RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP WS WSS. curl libcurl . libcurl(3) . (URL) URL . RFC 3986 . URL "protocol://" curl . HTTP . "ftp." curl FTP . URL . --parallel . URL . curl . . URL curl . curl URL . (GLOBBING) URL URL . "globbing" ( ) . : https://fun.example/{one,two,three}.jpg sftp://{one,two,three}.example/README - [] : ftp://ftp.example.com/file[1-100].txt : ftp://ftp.example.com/file[001-100].txt : ftp://ftp.example.com/file[a-z].txt : https://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html N : https://example.com/file[1-100:10].txt https://example.com/file[a-z:2].txt [] {} URL . '&' '?' '*' . (globbing) --output . 8.21.0 curl . - . : https://fun.example/{one,two,three}.jpg ftp://ftp.example.com/file[1-100].txt glob . --globoff . (VARIABLES) curl ( 8.3.0). --variable name=content --variable name@file ( "file" (-) stdin ). "{{name}}" "--expand-" . "name" . "{{" "\{{". "--variable %name" . "name" . "--variable %name=content" "--variable %name@content" . : USER URL USER : --variable '%USER' --expand-url = "https://example.com/api/{{USER}}/method" curl . "trim" "json" JSON "url" URL "b64" base64 "64dec" base64 . (colon) . null . : $HOME/.secret "fix". POST (trimmed) percent-encoded : --variable %HOME --expand-variable fix@{{HOME}}/.secret --expand-data "{{fix:trim:url}}" https://example.com 8.3.0 . (OUTPUT) curl stdout . --output --remote-name . URL curl . curl "" . . (PROTOCOLS) curl URL: (schemes). (build) . DICT . FILE . curl URL "file://" Microsoft Windows UNC . . FTP(S) curl File Transfer Protocol . TLS. GOPHER(S) . HTTP(S) curl HTTP . (build) 0.9 1.0 1.1 2 3 HTTP . IMAP(S) curl . TLS. LDAP(S) curl TLS . MQTT curl MQTT 3 . MQTT (subscribing to a topic) / (uploading/posting) (publishing on a topic) . MQTT TLS (). POP3(S) pop3 . TLS. RTSP curl RTSP 1.0 . SCP curl scp SSH 2 . SFTP curl SFTP ( 5) SSH 2 . SMB(S) curl SMB 1 . SMTP(S) SMTP . TLS. TELNET URL telnet stdin . TFTP curl TFTP . WS(S) WebSocket HTTP/1 . WSS HTTPS . (PROGRESS METER) curl . . ("k" "M" "G" "T" "P" "E" ) 1024 . 1k 1024 . 1M 1048576 . . curl curl . HTTP POST PUT (>) --output . FTP . --progress-bar . --silent . (VERSION) curl 8.22.0 . . . curl : curl https://curl.se/info : https://curl.se/docs/manpage.html (OPTIONS) . . URL URL . "single-dash" -d . --data . -O -L -v -OLv . --option --no-option . "no-" . --option . --next . --next . ("=") . ( 8.16.0) ("--") URL . curl . " " . : --fail-early --libcurl --parallel-immediate --parallel-max-host --parallel-max --parallel --progress-bar --rate --show-error --stderr --styled-output --trace-ascii --trace-config --trace-ids --trace-time --trace --verbose. (ALL OPTIONS) --abstract-unix-socket (HTTP) (abstract Unix domain socket) . : netstat "@" . --abstract-unix-socket . : curl --abstract-unix-socket socketpath https://example.com --unix-socket. --alt-svc (HTTPS) alt-svc . alt-svc . . "" ( ) / curl . umask . curl . --alt-svc . : curl --alt-svc svc.txt https://example.com --resolve --connect-to . --anyauth (HTTP) . response-headers . --basic --digest --ntlm --negotiate . stdin --anyauth (rewind ). stdin . --user . : curl --anyauth --user me:pwd https://example.com --proxy-anyauth --basic --digest . -a, --append (FTP SFTP) curl . . SFTP ( OpenSSH) . --append . --no-append . : curl --upload-file local --append ftp://example.com/ --range --continue-at . --aws-sigv4 (HTTP) AWS V4 . provider . region endpoint (region-code) . service endpoint (service-code) . --aws-sigv4 . : curl --aws-sigv4 "aws:amz:us-east-2:es" --user "key:secret" https://example.com 7.75.0 . --basic --user . --basic (HTTP) HTTP Basic . ( --ntlm --digest --negotiate) . --user . --basic . --no-basic . : curl -u name:password --basic https://example.com --proxy-basic . --ca-native (TLS) CA . CA . CA . OpenSSL (BoringSSL LibreSSL ) Windows ( 7.71.0) Apple libcurl Apple SecTrust . ( 8.17.0) wolfSSL Windows Linux ( Debian Ubuntu Gentoo Fedora RHEL) macOS Android iOS . ( 8.3.0) GnuTLS ( 8.5.0) libcurl Apple SecTrust . ( 8.17.0) Rustls Windows macOS Android iOS . Linux CA Mozilla . Rustls CA . ( 8.13.0) Schannel . TLS Microsoft CA CA . --ca-native . --no-ca-native . : curl --ca-native https://example.com 8.2.0. --cacert --capath --dump-ca-embed --insecure --proxy-ca-native. --cacert (TLS) (peer) . CA . () PEM . curl . 'CURL_CA_BUNDLE' TLS Schannel curl CA . . (Windows) curl CA 'curl-ca-bundle.crt' curl.exe (Current Working Directory) PATH . curl 8.11.0 (build-time) . (Schannel) Schannel Windows 7 ( 7.60.0). SSL Windows ( Schannel) . --cacert . : curl --cacert CA-file.txt https://example.com --capath --dump-ca-embed --insecure. --capath (TLS) () . curl OpenSSL ( "path1:path2:path3" "path1;path2;path3" Windows). PEM curl OpenSSL c_rehash OpenSSL . --cacert CA --capath curl OpenSSL SSL --cacert . capath . --capath . : curl --capath /local/directory https://example.com --cacert --dump-ca-embed --insecure. -E, --cert (TLS) HTTPS FTPS SSL . PEM . . . --cert --key . ":" "\:" ( ) . \" . curl OpenSSL pkcs11 pkcs11 PKCS#11 URI ( RFC 7512) PKCS#11 . "pkcs11:" PKCS#11 URI . PKCS#11 URI --engine "pkcs11" --cert-type "ENG" "PROV" ( OpenSSL). curl GnuTLS PKCS#11 URI PKCS#11 . "pkcs11:" PKCS#11 URI . (Schannel) . ( PFX ). "\\" : "CurrentUser\MY\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". (Thumbprint) SHA-1 . : CurrentUser LocalMachine CurrentService Services CurrentUserGroupPolicy LocalMachineGroupPolicy LocalMachineEnterprise. --cert . : curl --cert certfile --key keyfile https://example.com --cert-type --key --key-type. --cert-status (TLS) TLS Certificate Status Request ( OCSP stapling) . ( ) . OpenSSL GnuTLS . --cert-status . --no-cert-status . : curl --cert-status https://example.com --pinnedpubkey. --cert-type (TLS) . PEM DER ENG PROV P12 . TLS PEM . Schannel P12 . --cert pkcs11: URI ENG PROV ( OpenSSL). --cert-type . : curl --cert-type PEM --cert file https://example.com --cert --key --key-type. --ciphers (TLS) TLS 1.2 ( 1.1 1.0) (cipher suites) . . : https://curl.se/docs/ssl-ciphers.html --ciphers . : curl --ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256 https://example.com --tls13-ciphers --proxy-ciphers --curves. --compressed (HTTP) curl . <<>> () . curl . . : . --max-filesize. --compressed . --no-compressed . : curl --compressed https://example.com --compressed-ssh. --compressed-ssh (SCP SFTP) SSH . . . --compressed-ssh . --no-compressed-ssh . : curl --compressed-ssh sftp://example.com/ --compressed. -K, --config curl . . (whitespace) . . . (:) (=) ("like this") . : \\, \", \t, \n, \r \v. . '#' () . . ( 8.2.0 ). --config "-" curl stdin . URL --url URL . : url = "https://curl.se/docs/" # --- Example file --- # this is a comment url = "example.com" output = "curlhere.html" user-agent = "superagent/1.0" # and fetch another URL too url = "example.com/docs/manpage.html" -O referer = "http://nowhereatall.example.com/" # --- End of example file --- curl ( --disable ) --config . : 1) "$CURL_HOME/.curlrc" 2) "$XDG_CONFIG_HOME/curlrc" ( 7.73.0) 3) "$HOME/.curlrc" 4) : "%USERPROFILE%\.curlrc" 5) : "%APPDATA%\.curlrc" 6) : "%USERPROFILE%\Application Data\.curlrc" 7) : getpwuid 8) .curlrc curl . : .curlrc _curlrc . _curlrc . --config . : curl --config file.txt https://example.com : --disable. --connect-timeout curl . curl - . . (.) - . DNS TCP TLS QUIC . --connect-timeout . : curl --connect-timeout 20 https://example.com curl --connect-timeout 3.14 https://example.com : --max-time. --connect-to "HOST1:PORT1" "HOST2:PORT2" . . / TLS/SSL ( SNI ) . "HOST1" "PORT1" . "HOST2" "PORT2" . URL . "127.0.0.1" "example.org" . : example.com 127.0.0.1 : curl --connect-to example.com::127.0.0.1: https://example.com : 127.0.0.1 : curl --connect-to ::127.0.0.1: http://example.com --connect-to . : curl --connect-to example.com:443:example.net:8443 https://example.com --resolve --header . -C, --continue-at . . SIZE FTP curl . "-C -" curl . / . HTTP POST PUT . HTTP curl . --range () : . --no-clobber --remove-on-error --continue-at . --continue-at . : curl -C - https://example.com curl -C 400 https://example.com --range . -b, --cookie (HTTP) . : Cookie HTTP . "Set-Cookie:" . "NAME1=VALUE1; NAME2=VALUE2" . curl . . : "=" . curl --location URL . ("-") curl stdin . ("") curl . HTTP ( Set-Cookie) Netscape/Mozilla . HTTP . --cookie . . --cookie-jar . HTTP "Set-Cookie" "Domain" . . Netscape . --cookie --cookie-jar . curl --cookie . curl PSL (Public Suffix List) . curl PSL . --cookie . : curl -b "" https://example.com curl -b cookiefile https://example.com curl -b cookiefile -c cookiefile https://example.com curl -b name=Jane https://example.com --cookie-jar --junk-session-cookies . -c, --cookie-jar (HTTP) curl . curl (in-memory) . . Netscape . "-" stdout . --cookie-jar . . --cookie . . curl . --cookie . (cookie jar) curl . --verbose . umask . --cookie-jar . : curl -c store-here.txt https://example.com curl -c store-here.txt -b read-these https://example.com --cookie --junk-session-cookies. --create-dirs --output curl . --output --output-dir . . (Unix-style) 0750 . FTP SFTP --ftp-create-dirs . --create-dirs . --no-create-dirs . : curl --create-dirs --output local/dir/file https://example.com --ftp-create-dirs --output-dir. --create-file-mode (SFTP SCP FILE) curl 0644 'mode' . () . --create-file-mode . : curl --create-file-mode 0777 -T localfile sftp://example.com/new 7.75.0 . --ftp-create-dirs. --crlf (FTP SMTP) (line feed) (carriage return line feed) . MVS (OS/390) . --crlf . --no-crlf . : curl --crlf -T file ftp://example.com/ --use-ascii. --crlfile (TLS) PEM (Certificate Revocation List) . --crlfile . : curl --crlfile rejects.txt https://example.com --cacert --capath. --curves (TLS) SSL RFC 8422 5.1. ":" ( "X25519:P-521"). "s_client" "s_server" OpenSSL . --curves curl OpenSSL SSL (EC) / . OpenSSL . --curves . : curl --curves X25519 https://example.com 7.73.0 . --ciphers. -d, --data (HTTP MQTT) . HTTP(S) POST HTML (submit) . curl content-type application/x-www-form-urlencoded . MQTT PUBLISH . --data-raw @ . () --data-binary . URL-encode --data-urlencode . - . '-d name=daniel -d skill=lousy' post 'name=daniel&skill=lousy' . @ - curl stdin . 'foobar' --data @foobar . --data carriage return (newlines) null . @ --data-raw . . curl . . --data . : curl -d "name=curl" https://example.com curl -d "name=curl" -d "tool=cmdline" https://example.com curl -d @filename https://example.com --form --head --upload-file ( ). --data-binary --data-urlencode --data-raw --form. --data-ascii (HTTP) --data . --data-ascii . : curl --data-ascii @file https://example.com --data-binary --data-raw --data-urlencode. --data-binary (HTTP) (Post) . @ . "@-" curl stdin . --data (newlines) (carriage returns) . --data (content-type) application/x-www-form-urlencoded . content-type octet-stream : -H "Content-Type: application/octet-stream". --data (append) . --data-binary . : curl --data-binary @filename https://example.com --data-ascii. --data-raw (HTTP) --data (POST) @. --data-raw . : curl --data-raw "hello" https://example.com curl --data-raw "@at@at@" https://example.com --data. --data-urlencode (HTTP) --data (POST) URL-encoding . CGI name . curl : content URL-encode . "=" "@" . =content URL-encode . "=" . name=content URL-encode . URL-encode . @filename ( ) URL-encode POST . "@-" curl stdin . name@filename ( ) URL-encode POST . name=urlencoded-file-content . URL-encode . --data-urlencode . : curl --data-urlencode name=val https://example.com curl --data-urlencode =encodethis https://example.com curl --data-urlencode name@file https://example.com curl --data-urlencode @fileonly https://example.com --data --data-raw. --delegation (GSS/kerberos) curl (LEVEL) . none . policy OK-AS-DELEGATE Kerberos (realm policy) . always . --delegation . : curl --delegation "none" https://example.com --insecure --ssl. --digest (HTTP) HTTP Digest . (clear text) . --user . --digest . --no-digest . : curl -u name:password --digest https://example.com --user --proxy-digest --anyauth. -q, --disable curlrc . --config . --disable . --no-disable . : curl -q https://example.com --config. --disable-eprt (FTP) EPRT LPRT FTP. curl PORT EPRT PORT . EPRT FTP PORT . --eprt EPRT --no-eprt --disable-eprt . IPv6 EPRT . EPRT . --ftp-port --ftp-pasv . --disable-eprt . --no-disable-eprt. : curl --disable-eprt ftp://example.com/ --disable-epsv --ftp-port. --disable-epsv (FTP) EPSV FTP. curl PASV EPSV EPSV . --epsv EPSV --no-epsv --disable-epsv . IPv6 EPSV . EPSV . --ftp-port . --disable-epsv . --no-disable-epsv. : curl --disable-epsv ftp://example.com/ --disable-eprt --ftp-port. --disallow-username-in-url URL . URL . URL . --disallow-username-in-url . --no-disallow-username-in- url. : curl --disallow-username-in-url https://example.com --proto. --dns-interface (DNS) DNS . --interface ( DNS ). ( ). --dns-interface . : curl --dns-interface eth0 https://example.com --dns-interface libcurl c-ares . --dns-ipv4-addr --dns-ipv6-addr. --dns-ipv4-addr
(DNS) IP DNS IPv4 DNS . IPv4 . --dns-ipv4-addr . : curl --dns-ipv4-addr 10.1.2.3 https://example.com --dns-ipv4-addr libcurl c-ares . --dns-interface --dns-ipv6-addr. --dns-ipv6-addr
(DNS) DNS IPv6 IP DNS . IPv6 . --dns-ipv6-addr . : curl --dns-ipv6-addr 2a04:4e42::561 https://example.com --dns-ipv6-addr libcurl c-ares . --dns-interface --dns-ipv4-addr. --dns-servers (DNS) DNS . IP . () IP . --dns-servers . : curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com curl --dns-servers 10.0.0.1:53 https://example.com --dns-servers libcurl c-ares . --dns-interface --dns-ipv4-addr. --doh-cert-status (DNS) --cert-status DoH (DNS-over-HTTPS) . DoH TLS Certificate Status Request ( OCSP stapling) . DoH ( ) . OpenSSL GnuTLS . --doh-cert-status . --no-doh-cert-status . : curl --doh-cert-status --doh-url https://doh.example https://example.com 7.76.0. --doh-insecure. --doh-insecure (DNS) curl DoH . curl . : DoH (name resolution) . --insecure --proxy-insecure DoH (DNS-over-HTTPS) . --doh-insecure . --no-doh-insecure . : curl --doh-insecure --doh-url https://doh.example https://example.com 7.76.0. --doh-url --insecure --proxy-insecure. --doh-url (DNS) DNS-over-HTTPS (DoH) . (URL) HTTPS . SSL DoH SSL . --doh-insecure --doh-cert-status . DNS DoH DoH . () IP DoH --resolve . "" URL . ( 7.85.0) --doh-url . : curl --doh-url https://doh.example https://example.com curl --doh-url https://doh.example --resolve doh.example:443:192.0.2.1 https://example.com --doh-insecure. --dump-ca-embed (TLS) CA curl . curl CA . --dump-ca-embed . --no-dump-ca-embed . : curl --dump-ca-embed 8.10.0 . : --ca-native --cacert --capath --proxy-ca-native --proxy-cacert --proxy-capath. -D, --dump-header (HTTP FTP) . . (stdout) "-" ( ) . curl 8.10.0 "%" ( ) stderr . FTP FTP "" . curl 8.11.0 --create-dirs --dump-header . ( URL --next) . --dump-header . : curl --dump-header store.txt https://example.com curl --dump-header - https://example.com -o save : --output. --ech (HTTPS) ECH (Encrypted Client Hello) . : false ECH . . grease GREASE ECH true ECH ECH . ( ECH .) hard ECH . ECH TLS 1.3 DoH ECHConfigList . ecl: ECHConfigList base64 ECH . pn: (over-ride) "public_name" ECHConfigList ( TLS OpenSSL ) ECH CURLE_ECH_REQUIRED (101) . --ech . : curl --ech true https://example.com 8.8.0 . : --doh-url. --egd-file (TLS) ( 7.84.0). curl OpenSSL . (Entropy Gathering Daemon) . SSL . --egd-file . : curl --egd-file /random/here https://example.com : --random-file. --engine (TLS) OpenSSL . "--engine list" . ( ) . "engines" OpenSSL "providers" OpenSSL 3 . --engine . : curl --engine flavor https://example.com : --ciphers --curves. --etag-compare (HTTP) HTTP ETag If-None-Match ETag . ETag . ETag . --etag-save ETag ETag . URL . --etag-compare . : curl --etag-compare etag.txt https://example.com 7.68.0 . --etag-save --time-cond . --etag-save (HTTP) ETag HTTP . ETag (caching) . URL . ETag . etag etag etag --etag-save --etag-compare . curl 8.12.0 --create-dirs --etag-save . --etag-save . : curl --etag-save storetag.txt https://example.com 7.68.0 . --etag-compare . --expect100-timeout (HTTP) curl 100-continue curl Expects: 100-continue . curl . . curl . (".") - . --expect100-timeout . : curl --expect100-timeout 2.5 -T file https://example.com --connect-timeout . -f, --fail (HTTP) HTTP HTTP 400 22 . HTTP ( ) HTTP 4xx . curl 22 . curl HTTP . --fail-with-body . (fail-safe) ( 401 407). --fail . --no-fail . : curl --fail https://example.com --fail-with-body () . --fail-with-body --fail-early . --fail-early . curl URL . URL URL curl . <<>> . curl URL . . --fail HTTP . --fail --next . --next . --fail-early . --no-fail-early . : curl --fail-early https://example.com https://two.example --fail --fail-with-body . --fail-with-body (HTTP) HTTP 400 . HTTP HTML ( ). curl 22 . --fail curl . --fail-with-body . --no-fail-with-body . : curl --fail-with-body https://example.com --fail . 7.76.0 . : --fail --fail-early. --false-start (TLS) TLS . (false start) TLS. TLS Finished . --false-start . --no-false-start . : curl --false-start https://example.com : --tcp-fastopen. --follow (HTTP) curl HTTP --request HTTP . --request 307 308 301 302 303 GET . --location . --proto-redir . --netrc . --follow . --no-follow . : curl -X POST --follow https://example.com 8.16.0 . : --request --location --proto-redir --max-redirs. -F, --form (HTTP SMTP IMAP) HTTP (submit) . curl Content-Type multipart/form-data RFC 2388 (POST) . SMTP IMAP (multipart) . . 'content' @ . < . @ < @ < . "-" stdin . @ < . stdin curl . ( ) HTTP (chunks) IMAP . : HTTP 'profile' portrait.jpg : curl -F profile=@portrait.jpg https://example.com/upload.cgi : : curl -F name=John -F shoesize=11 https://example.com : . : curl -F "story= "type=" curl Content-Type : curl -F "web=@index.html;type=text/html" example.com curl -F "name=daniel;type=text/foo" example.com filename= : curl -F "file=@localfile;filename=nameinpost" example.com / ',' ';' (double-quotes) : curl -F "file=@\"local,file\";filename=\"name;in;post\"" \ https://example.com curl -F 'file=@"local,file";filename="name;in;post"' \ https://example.com / (escaped). - / : curl -F 'colors="red; green; blue";type=text/x-myapp' \ https://example.com headers= curl -F "submit=OK;headers=\"X-submit-type: OK\"" example.com curl -F "submit=OK;headers=@headerfile" example.com headers= . '#' (fold ) carriage-return . : # This file contains two headers. X-header-1: this is a header # The following header is folded. X-header-2: this is another header multipart : - : - '(' multipart : content type . - multipart '=)' . : mime SMTP : plain text HTML. : curl -F '=(;type=multipart/alternative' \ -F '=plain text message' \ -F '= HTML message;type=text/html' \ -F '=)' -F '=@textfile.txt' ... smtp://example.com encoder= . binary 8bit Content-Transfer-Encoding 7bit 8-bit quoted-printable base64 . : multipart quoted-printable base64: curl -F '=text message;encoder=quoted-printable' \ -F '=@localfile;encoder=base64' ... smtp://example.com --form . : curl --form "name=curl" --form "file=@loadthis" https://example.com --data --head --upload-file . --data --form-string --form-escape. --form-escape (HTTP IMAP SMTP) multipart percent-encoding backslash-escaping . --form-escape . : curl --form-escape -F 'field\name=curl' -F 'file=@load"this' https://example.com 7.81.0 . --form. --form-string (HTTP SMTP IMAP) --form . @ < ";type=" . @ < --form --form . --form-string . : curl --form-string "name=data" https://example.com : --form. --ftp-account (FTP) FTP "account data" ACCT . --ftp-account . : curl --ftp-account "mr.robot" ftp://example.com : --user. --ftp-alternative-to-user (FTP) USER PASS . Tumbleweed's Secure Transport FTPS "SITE AUTH" . --ftp-alternative-to-user . : curl --ftp-alternative-to-user "U53r" ftp://example.com : --ftp-account --user. --ftp-create-dirs (FTP SFTP) URL FTP SFTP curl . curl . --ftp-create-dirs . --no-ftp-create-dirs . : curl --ftp-create-dirs -T file ftp://example.com/remote/path/file : --create-dirs. --ftp-method (FTP) curl FTP(S) . method : multicwd URL CWD . . RFC 1738 . . nocwd CWD . curl SIZE RETR STOR . . singlecwd CWD " " ( multicwd) . "nocwd" "multicwd" . --ftp-method . : curl --ftp-method multicwd ftp://example.com/dir1/dir2/file curl --ftp-method nocwd ftp://example.com/dir1/dir2/file curl --ftp-method singlecwd ftp://example.com/dir1/dir2/file : --list-only. --ftp-pasv (FTP) (passive) . --ftp-port . --ftp-port . curl EPSV PASV --disable-epsv . --ftp-pasv . : curl --ftp-pasv ftp://example.com --ftp-port . : --disable-epsv. -P, --ftp-port
(FTP) / FTP. curl (active mode) . curl (passive mode) IP .
: interface eth0 IP ( ) IP address 192.168.10.1 IP hostname my.host.domain - curl IP . . PORT --ftp-pasv. EPRT PORT --disable-eprt. EPRT PORT++ . ":[start]-[end]" curl TCP . . . --ftp-port . : curl -P - ftp:/example.com curl -P eth0 ftp:/example.com curl -P 192.168.0.2 ftp:/example.com --ftp-pasv --disable-eprt. --ftp-pret (FTP) PRET PASV ( EPSV). FTP drftpd PASV . --ftp-pret . --no-ftp-pret . : curl --ftp-pret ftp://example.com --ftp-port --ftp-pasv. --ftp-skip-pasv-ip (FTP) curl IP PASV curl . curl IP . ( 7.74.0 ). PASV PORT EPRT EPSV . --ftp-skip-pasv-ip . --no- ftp-skip-pasv-ip . : curl --ftp-skip-pasv-ip ftp://example.com --ftp-pasv. --ftp-ssl-ccc (FTP) CCC ( / Clear Command Channel). SSL/TLS . . NAT FTP . passive . --ftp-ssl-ccc . --no- ftp-ssl-ccc . : curl --ftp-ssl-ccc ftps://example.com --ssl --ftp-ssl-ccc-mode. --ftp-ssl-ccc-mode (FTP) CCC. passive . active . --ftp-ssl-ccc-mode . --no- ftp-ssl-ccc-mode . : curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com --ftp-ssl-ccc. --ftp-ssl-control (FTP) SSL/TLS FTP () . . SSL/TLS . --ssl . --ftp-ssl-control . --no-ftp-ssl-control . : curl --ftp-ssl-control ftp://example.com --ssl. -G, --get (HTTP) --data --data-binary --data-urlencode POST HTTP GET . curl (query string) (URL) . --head POST HEAD . --get . --no-get . : curl --get https://example.com curl --get -d "tool=curl" -d "age=old" https://example.com curl --get -I -d "tool=curl" https://example.com --data --request. -g, --globoff (globbing) URL . {}[] curl . URL URI . IPv6 URL curl globbing . --globoff . --no-globoff . : curl -g "https://example.com/{[]}}}}" --config --disable. --happy-eyeballs-timeout-ms (timeout) Happy Eyeballs. Happy Eyeballs (dual-stack) IPv4 IPv6 IPv6 . IPv6 IPv4 . . . RFC 6555 Happy Eyeballs : " 150-250 ms ." libcurl 200 ms . Firefox Chrome 300 ms . --happy-eyeballs-timeout-ms . : curl --happy-eyeballs-timeout-ms 500 https://example.com --max-time --connect-timeout. --haproxy-clientip (HTTP) IP HAProxy PROXY 1 . IPv4 [0..255] . () . IPv6 ( ) . . IP . --haproxy-protocol . --haproxy-clientip . : curl --haproxy-clientip $IP 8.2.0 . --proxy. --haproxy-protocol (HTTP) HAProxy PROXY protocol v1 . IP . . --haproxy-protocol . --no-haproxy-protocol . : curl --haproxy-protocol https://example.com --proxy. -I, --head (HTTP FTP FILE) . HTTP HEAD . URL FTP FILE curl . --head . --no-head . : curl -I https://example.com --get --verbose --trace-ascii. -H, --header
(HTTP IMAP SMTP) . HTTP . MIME IMAP SMTP --form MIME . . . curl . curl . . : -H "Host:". -H "X-Custom-Header;" "X-Custom-Header:". curl / : (carriage return) . curl . . @filename . @- curl stdin . MIME : "From:" "To:" "Date:" "Subject:" . HTTP --proxy-header . "Transfer-Encoding: chunked" HTTP curl (chunked encoding) . : HTTP - --location . . "Authorization:" "Cookie:" HTTP --location-trusted . --header . : curl -H "X-First-Name: Joe" https://example.com curl -H "User-Agent: yes-please/2000" https://example.com curl -H "Host:" https://example.com curl -H @headers.txt https://example.com --user-agent --referer --proxy-header. -h, --help . . curl . . curl . "all" . "category" curl . curl . . curl . : curl --help all curl --help --insecure curl --help -f --verbose. --hostpubmd5 (SFTP SCP) . MD5 curl . --hostpubmd5 . : curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/ --hostpubsha256 . --hostpubsha256 (SFTP SCP) SHA256 Base64 . curl . --hostpubsha256 . : curl --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/ 7.80.0 . --hostpubmd5 . --hsts (HTTPS) HSTS . HSTS . . curl HSTS . curl HSTS "http://" HTTPS . HSTS . "" ( ) / curl HSTS . umask . curl . curl 8.20.0 curl HSTS . --hsts . : curl --hsts cache.txt https://example.com 7.74.0 . --proto . --http0.9 (HTTP) 0.9 HTTP . HTTP/0.9 HTTP curl - - . HTTP/0.9 ( 7.66.0 ) --http0.9 . --no-http0.9 . : curl --http0.9 https://example.com --http1.1 --http2 --http3 . -0, --http1.0 (HTTP) 1.0 HTTP . --http1.0 . : curl --http1.0 https://example.com --http1.1 --http2 --http2-prior-knowledge --http3 . --http0.9 --http1.1 . --http1.1 (HTTP) 1.1 HTTP . "http://" . --http1.1 . : curl --http1.1 https://example.com --http1.0 --http2 --http2-prior-knowledge --http3 . --http1.0 --http0.9 . --http2 (HTTP) HTTP/2. HTTPS curl TLS HTTP/2 . curl . HTTP curl Upgrade: HTTP/2 . curl HTTP/2 HTTPS TLS 1.2 . --tlsv1.2 . --http2 . : curl --http2 https://example.com --http2 libcurl HTTP/2 . --http1.1 --http1.0 --http2-prior-knowledge --http3 . --http1.1 --http3 --no-alpn --proxy-http2 . --http2-prior-knowledge (HTTP) HTTP TLS HTTP/2 HTTP/1.1. HTTP/2 . HTTPS HTTP/2 TLS . 8.10.0 HTTPS (ALPN) HTTP/2 . HTTP/1.1 HTTP/2 . --http2-prior-knowledge . --no-http2-prior-knowledge . : curl --http2-prior-knowledge https://example.com --http2-prior-knowledge libcurl HTTP/2 . --http1.1 --http1.0 --http2 --http3 . --http2 --http3 . --http3 (HTTP) HTTP/3 URL HTTP HTTP/3 . HTTP/3 URL HTTPS URL HTTP. HTTP/3 Alt-Svc HTTP/3 . curl HTTP/3 HTTP HTTP/3 curl HTTP . HTTP/1 HTTP/2 . --http3-only . curl HTTP/3 . --http3 . : curl --http3 https://example.com --http3 libcurl HTTP/3 . --http1.1 --http1.0 --http2 --http2-prior-knowledge --http3-only . 7.66.0. --http1.1 --http2 . --http3-only (HTTP) curl URL HTTP/3 HTTP . HTTP/3 URL HTTPS URL HTTP. HTTP . HTTP/3 Alt-Svc HTTP/3 . QUIC curl HTTP . --http3 . --http3-only . : curl --http3-only https://example.com --http3-only libcurl HTTP/3 . --http1.1 --http1.0 --http2 --http2-prior-knowledge --http3 . 7.88.0. --http1.1 --http2 --http3 . --httpsig-algo (HTTP) ****: . . HTTP HTTP RFC 9421. . ed25519 hmac-sha256. ed25519 . curl . HTTP --httpsig-algo --httpsig-key --httpsig-keyid --httpsig-headers . --httpsig-key --httpsig-keyid . . "method" "authority" "path" "query" ( ). --httpsig-headers . --httpsig-algo . : curl --httpsig-key key.hex --httpsig-keyid "my-key" https://example.com curl --httpsig-algo hmac-sha256 --httpsig-key secret.hex --httpsig-keyid "shared" https://example.com 8.22.0 . --httpsig-key --httpsig-keyid --httpsig-headers. --httpsig-headers (HTTP) ****: . . HTTP RFC 9421. : "method" "authority" "path" "query". HTTP "content-type:" "content-digest:". "method authority path" ( "query" URL ). "-H" / "--header" . curl ( "User-Agent") : curl --httpsig-algo ed25519 \ --httpsig-key k.hex \ --httpsig-keyid mykey \ -H "User-Agent: MyApp/1.0" \ --httpsig-headers \ "method authority path user-agent:" \ $URL . "--httpsig-headers" curl . --httpsig-headers . : curl --httpsig-algo ed25519 --httpsig-key key.hex --httpsig-keyid "my-key" --httpsig-headers "method authority content-type:" https://example.com 8.22.0 . --httpsig-algo --httpsig-key --httpsig-keyid. --httpsig-key (HTTP) ****: . . HTTP RFC 9421. "@filename" . "@" . . ed25519 seed 32 (64 ) . hmac-sha256 (shared secret) . PEM . Ed25519 OpenSSL 3: openssl genpkey -algorithm ED25519 -out k.pem openssl pkey -in k.pem -outform RAW -out k.raw xxd -p -c 64 k.raw | tr -d '\n' > k.hex "@k.hex" "--httpsig-key" . --httpsig-key . : curl --httpsig-algo ed25519 --httpsig-key @key.hex --httpsig-keyid "my-key" https://example.com curl --httpsig-key 123a56fb72197633bc --httpsig-keyid "my-key" https://example.com 8.22.0 . --httpsig-algo --httpsig-keyid. --httpsig-keyid (HTTP) ****: . . "Signature-Input" RFC 9421 HTTP Message Signatures. "keyid" . --httpsig-keyid . : curl --httpsig-algo ed25519 --httpsig-key key.hex --httpsig-keyid "my-key" https://example.com 8.22.0 . --httpsig-algo --httpsig-key. --ignore-content-length (FTP HTTP) HTTP Content-Length . Apache 1.x Content-Length 2 . FTP curl SIZE . --ignore-content-length . --no-ignore-content-length . : curl --ignore-content-length https://example.com --ftp-skip-pasv-ip. -k, --insecure (TLS SFTP SCP) curl . curl . TLS curl TLS : URL CA . : https://curl.se/docs/sslcerts.html SFTP SCP curl known_hosts . known_hosts ".ssh" . : . curl HSTS Alt-Svc . --insecure curl . --insecure . --no- insecure . : curl --insecure https://example.com --proxy-insecure --cacert --capath. --interface . IP . : if! . curl 45 . host! IP . ifhost!! IP . libcurl 8.9.0 . curl 45 . curl Windows . --doh-url DNS-over-HTTPS . VRF (Virtual Routing and Forwarding) CAP_NET_RAW root . --interface . : curl --interface eth0 https://example.com curl --interface "host!10.0.0.1" https://example.com curl --interface "if!enp3s0" https://example.com --dns-interface. --ip-tos (TOS) IPv4 (Traffic Class) IPv6. 1 255 : CS0, CS1, CS2, CS3, CS4, CS5, CS6, CS7, AF11, AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43, EF, VOICE-ADMIT, ECT1, ECT0, CE, LE, LOWCOST, LOWDELAY, THROUGHPUT, RELIABILITY, MINCOST --ip-tos . : curl --ip-tos CS5 https://example.com 8.9.0 . --tcp-nodelay --vlan-priority . --ipfs-gateway (IPFS) URL IPFS IPNS . curl IPFS_GATEWAY "~/.ipfs/gateway" URL . IPFS "http://localhost:8080" . URL : curl --ipfs-gateway http://localhost:8080 \ ipfs://bafybeigagd5nmnn2iys2f3 IPFS . : https://ipfs.github.io/public-gateway-checker . . . curl . "trustless" . . trusted trustless : https://docs.ipfs.tech/reference/http/gateway/#trusted-vs-trustless --ipfs-gateway . : curl --ipfs-gateway https://example.com ipfs:// 8.4.0 . --help --manual . -4, --ipv4 IPv4 IPv6 . --ipv4 . : curl --ipv4 https://example.com --ipv6 . --http1.1 --http2 . -6, --ipv6 IPv6 IPv4 . (resolver) -IPv6 IPv6 IPv4 <<>> ("mapped") . macOS . --ipv6 . : curl --ipv6 https://example.com --ipv4 . --http1.1 --http2 . --json (HTTP) JSON POST HTTP. --json : --data-binary [arg] --header "Content-Type: application/json" --header "Accept: application/json" JSON . @ (-) curl stdin . 'foobar' --json @foobar stdin --json @- . . --header . --json . : curl --json '{ "drink": "coffee" }' https://example.com curl --json '{ "drink":' --json ' "coffee" }' https://example.com curl --json @prepared https://example.com curl --json @- https://example.com < json.txt --form --head --upload-file . 7.82.0 . --data-binary --data-raw . -j, --junk-session-cookies (HTTP) curl . . . . << >> . --junk-session-cookies . --no-junk-session-cookies . : curl --junk-session-cookies -b cookies.txt https://example.com : --cookie --cookie-jar. --keepalive-cnt keepalive TCP . --keepalive-time . Linux *BSD/macOS Windows >=10.0.16299 Solaris 11.4 AIX HP-UX . --no-keepalive . 9 . --keepalive-cnt . : curl --keepalive-cnt 3 https://example.com 8.9.0. : --keepalive-time --no-keepalive. --keepalive-time keepalive keepalive . "TCP_KEEPIDLE" "TCP_KEEPINTVL" ( Linux *BSD/macOS Windows Solaris AIX HP-UX ) . Keepalive TCP . keepalive 8 (*BSD/macOS/AIX) 9 (Linux/AIX) 5/10 (Windows) "keepalive-cnt" curl . --no-keepalive . 60 . --keepalive-time . : curl --keepalive-time 20 https://example.com : --no-keepalive --keepalive-cnt --max-time. --key (TLS SCP SFTP) . . SSH curl : "~/.ssh/id_rsa" "~/.ssh/id_dsa" "./id_rsa" "./id_dsa". curl OpenSSL pkcs11 pkcs11 PKCS#11 URI (RFC 7512) PKCS#11 . "pkcs11:" PKCS#11 URI . PKCS#11 URI --engine "pkcs11" --key-type "ENG" "PROV" ( OpenSSL). curl Schannel TLS (HTTPS ) . keychain PKCS#12 . --key . : curl --cert certificate --key here https://example.com : --key-type --cert. --key-type (TLS) . --key . DER PEM ENG . PEM . --key-type . : curl --key-type DER --key here https://example.com : --key. --knownhosts (SCP SFTP) SCP SFTP curl . . curl ~/.ssh/known_hosts . . --insecure . --knownhosts . : curl --knownhosts filename --key here https://example.com 8.17.0 . --hostpubsha256 --hostpubmd5 --insecure --key. --krb (FTP) ( 8.17.0). . Kerberos . (level) "clear" "safe" "confidential" "private" . "private" . --krb . : curl --krb clear ftp://example.com --krb libcurl Kerberos . --delegation --ssl. --libcurl curl C libcurl . . . --next . --libcurl . : curl --libcurl client.c https://example.com --verbose. --limit-rate curl - - . . / . 'k' 'K' 'm' 'M' . (k M G T P) 1024 1k 1024 . : 200K 3m 1G. . --speed-limit speed-limit . curl 8.19.0 "2.5M" . locale (".") . --limit-rate . : curl --limit-rate 123.45K https://example.com curl --limit-rate 1000 https://example.com curl --limit-rate 10M https://example.com curl --limit-rate 200K --max-time 60 https://example.com --rate --speed-limit --speed-time. -l, --list-only (FTP POP3 SFTP FILE) FTP - . FTP . NLST LIST . : FTP NLST . SFTP - . SFTP . POP3 LIST RETR . message-id . FILE . : --request UIDL message-id . --list-only . --no-list-only . : curl --list-only ftp://example.com/dir --quote --request. --local-port (FROM-TO) () . . --local-port . : curl --local-port 1000-3000 https://example.com --globoff . -L, --location (HTTP) ( Location: 3XX ) curl . --show-headers --head . ( --user --oauth2-bearer) "-H Cookie:" curl . curl . --location-trusted . --netrc . --max-redirs . curl POST HTTP 301 302 303 GET . 3xx curl . curl 30x POST GET : --post301 --post302 --post303. --request curl . --proto-redir . --location . --no-location . : curl -L https://example.com --resolve --alt-svc --follow --proto-redir --max-redirs . --location-trusted (HTTP) curl HTTP --location curl . . . curl --header . --location-trusted . --no-location-trusted . : curl --location-trusted -u user:password https://example.com curl --location-trusted -H "Cookie: session=abc" https://example.com --user --follow . --login-options (IMAP LDAP POP3 SMTP) . . IMAP POP3 SMTP . RFC 2384 RFC 5092 IETF https://datatracker.ietf.org/doc/html/draft-earhart-url-smtp-00 . 8.2.0 IMAP "AUTH=+LOGIN" . curl ( SASL) "LOGIN IMAP" SASL . . IMAP "LOGIN" ( ) . --login-options . : curl --login-options 'AUTH=*' imap://example.com --user . --mail-auth
(SMTP) . () . --mail-auth . : curl --mail-auth user@example.com -T mail smtp://example.com/ : --mail-rcpt --mail-from. --mail-from
(SMTP) . --mail-from . : curl --mail-from user@example.com -T mail smtp://example.com/ : --mail-rcpt --mail-auth. --mail-rcpt
(SMTP) . . ( VRFY) ( 3.5 RFC 5321). ( EXPN) "Friends" "London-Office". --mail-rcpt . : curl --mail-rcpt user@example.net smtp://example.com : --mail-rcpt-allowfails. --mail-rcpt-allowfails (SMTP) curl RCPT TO SMTP . --mail-rcpt-allowfails curl . RCPT TO curl SMTP RCPT TO . --mail-rcpt-allowfails . --no- mail-rcpt-allowfails . : curl --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com 7.69.0. : --mail-rcpt. -M, --manual . . : curl --manual : --verbose --libcurl --trace. --max-filesize (FTP HTTP MQTT) ( ) . curl 63 . . . 'k' 'K' 'm' 'M' . (k, M, G, T, P) 1024 . : 200K 3m 1G. NOTE: curl 8.4.0 . curl 8.4.0 . curl 8.19.0 "2.5M" . (".") (locale) . 8.20.0 --compressed . --max-filesize . : curl --max-filesize 100K https://example.com curl --max-filesize 2.6M https://example.com : --limit-rate. --max-redirs (HTTP) . --location --follow curl . 50 . -1 . --max-redirs . : curl --max-redirs 3 --location https://example.com --location --follow. -m, --max-time . . . (--retry) . --retry-max-time . (.) - . --max-time . : curl --max-time 10 https://example.com curl --max-time 2.92 https://example.com --connect-timeout --retry-max-time. --metalink Metalink . Metalink curl ( 7.78.0). --metalink . : curl --metalink file https://example.com --parallel. --mptcp Multipath TCP (MPTCP) . MPTCP TCP TCP . . MPTCP WiFi . 5.6 . TCP HTTP/3 (QUIC) UDP . curl MPTCP . TCP . --mptcp . --no-mptcp . : curl --mptcp https://example.com 8.9.0. --tcp-fastopen. --negotiate (HTTP) Negotiate (SPNEGO) . GSS-API SSPI . --version curl GSS-API/SSPI SPNEGO . --user . '-u :' --user . --negotiate . --no-negotiate . : curl --negotiate -u : https://example.com --basic --ntlm --anyauth --proxy-negotiate. -n, --netrc curl .netrc . FTP . HTTP curl . netrc(5) ftp(1) . ( ) curl . "HOME" . "NETRC" netrc . ( 8.16.0) --netrc-file . netrc . : .netrc _netrc . _netrc . .netrc curl "myself" "secret" host.example.com : machine host.example.com login myself password secret curl "default" . default . "default" machine . URL .netrc ("generic") "machine" "login" curl . --netrc . --no-netrc . : curl --netrc https://example.com --netrc-file --netrc-optional . --netrc-file --config --user . --netrc-file netrc . --netrc ( ) . --netrc-optional . --netrc-file . : curl --netrc-file netrc https://example.com --netrc . --netrc --user --config . --netrc-optional --netrc .netrc --netrc . --netrc-optional . --no-netrc-optional . : curl --netrc-optional https://example.com --netrc . --netrc-file . -:, --next URL . URL . --next --next . --verbose --trace --trace-ascii --fail-early . GET POST : curl www1.example.com --next -d postthis www2.example.com --next . : curl https://example.com --next -d postthis www2.example.com curl -I https://example.com --next https://example.net --parallel --config . --no-alpn (HTTPS) TLS ALPN . libcurl SSL ALPN ALPN . ALPN libcurl HTTP/2 HTTP/2 https . . ALPN --alpn . --no-alpn . --alpn . : curl --no-alpn https://example.com --no-alpn libcurl TLS . --no-npn --http2 . -N, --no-buffer . curl . . . --buffer . --no-buffer . --buffer . : curl --no-buffer https://example.com --progress-bar . --no-clobber --output --remote-header-name --remote-name --remote-name-all curl . filename.100 . . --remote-header-name --clobber . --continue-at --no-clobber . --no-clobber . --clobber . : curl --no-clobber --output local/dir/file https://example.com 7.83.0 . --output --remote-name . --no-keepalive keepalive TCP . curl . . --keepalive keepalive . --no-keepalive . --keepalive . : curl --no-keepalive https://example.com --keepalive-time --keepalive-cnt . --no-npn (HTTPS) curl NPN ( 7.86.0 ). TLS NPN . libcurl SSL NPN NPN . NPN libcurl HTTP/2 HTTP/2 https . --no-npn . --npn . : curl --no-npn https://example.com --no-npn libcurl TLS . --no-alpn --http2 . --no-progress-meter --silent . . --progress-meter . --no-progress-meter . --progress-meter . : curl --no-progress-meter -o store https://example.com 7.67.0 . : --verbose --silent. --no-sessionid (TLS) curl SSL. . SSL SSL . . --sessionid . --no-sessionid . --sessionid . : curl --no-sessionid https://example.com : --insecure. --noproxy . (wildcard) "*" . . "local.com" "local.com" "local.com:80" "www.local.com" "www.notlocal.com" . punycode . ("no_proxy" "NO_PROXY") . "" . IP CIDR ( 7.86.0): . "192.168.0.0/16" "192.168" . --noproxy . : curl --noproxy "www.example" https://example.com : --proxy. --ntlm (HTTP) NTLM. NTLM IIS . curl . NTLM Digest . NTLM --proxy-ntlm . --ntlm . --no-ntlm . : curl --ntlm -u user:password https://example.com --ntlm libcurl TLS . : --proxy-ntlm. --ntlm-wb (HTTP) ( 8.8.0). NTLM --ntlm . --ntlm-wb . : curl --ntlm-wb -u user:password https://example.com : --ntlm --proxy-ntlm. --oauth2-bearer (IMAP LDAP POP3 SMTP HTTP) (Bearer Token) OAUTH 2.0 . --url --user . RFC 6750 . --oauth2-bearer . : curl --oauth2-bearer "mF_9.B5f-4.1JqM" https://example.com --basic --ntlm --digest . --out-null . : curl https://host.example -o /dev/null . --out-null URL . URL URL . : curl "https://example.com" --out-null 8.16.0 . --output --remote-name --remote-name-all --remote-header-name . -o, --output stdout . (globbing) URL URL "#" . . : curl "http://{one,two}.example.com" -o "file_#1.txt" : curl "http://{site,host}.host[1-5].example" -o "#1_#2" URL . URL : curl -o aa example.com -o bb example.net -o URL -o URL : curl example.com example.net -o aa -o bb --create-dirs . '-' ( ) stdout . /dev/null : curl example.com -o /dev/null Windows: curl example.com -o nul : curl example.com --out-null stdout curl : curl https://example.com/jpeg -o - --compressed . 8.21.0 curl (globbing) . - (<>) . : curl "https://fun.example/{one,two}.jpg" -o "save-#" curl "ftp://ftp.example/file[1-100].txt" \ -o "save-#.txt" glob . 8.21.0 curl (globbing) glob glob URL . URL HTTP : curl -T 'file{1,2,3}' \ https://upload.example/ -o 'response-#' --output URL . URL URL . : curl -o file https://example.com curl "http://{one,two}.example.com" -o "file_#1.txt" curl "http://{site,host}.host[1-5].example" -o "#1_#2" curl -o file https://example.com -o file2 https://example.net --out-null --remote-name --remote-name-all --remote-header-name --compressed . --output-dir --remote-name --output . URL --next . --create-dirs . --output-dir . : curl --output-dir "tmp" -O https://example.com 7.73.0 . --remote-name --remote-header-name. -Z, --parallel curl () . curl N N . . --parallel-max 50 . --next . --parallel . --no-parallel . : curl --parallel https://example.com -o file1 https://example.com -o file2 7.66.0 . --next --verbose --parallel-max --parallel-immediate. --parallel-immediate curl (multiplexed) . curl (multiplex) . . --next . --parallel-immediate . --no-parallel- immediate . : curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2 7.68.0 . --parallel --parallel-max. --parallel-max --parallel . 50 . 65535 . --next . --parallel-max . : curl --parallel-max 100 -Z https://example.com ftp://example.com/ 7.66.0 . --parallel --parallel-max-host. --parallel-max-host --parallel curl ( + + ) . libcurl <<>> . 0 () . 65535 . --next . --parallel-max-host . : curl --parallel-max-host 5 -Z https://example.com ftp://example.com/ 8.16.0 . --parallel --parallel-max. --pass (TLS SCP SFTP) SSH TLS. --pass . : curl --pass secret --key file https://example.com --key --user . --path-as-is /../ /./ URL . curl . --path-as-is . --no-path-as-is . : curl --path-as-is https://example.com/../../etc/passwd --request-target . --pinnedpubkey (TLS) ( ) . PEM DER sha256 base64 'sha256//' ';' . TLS SSL . curl . --insecure . . PEM/DER: OpenSSL GnuTLS wolfSSL mbedTLS Schannel sha256: OpenSSL GnuTLS wolfSSL mbedTLS Schannel backend SSL . --pinnedpubkey . : curl --pinnedpubkey keyfile https://example.com curl --pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com --hostpubsha256 . --post301 (HTTP) RFC 7231/6.4.2 301 POST GET . -RFC curl . POST POST . --location . --post301 . --no-post301 . : curl --post301 --location -d "data" https://example.com --post302 --post303 --location . --post302 (HTTP) RFC 7231/6.4.3 302 POST GET . -RFC curl . POST POST . --location . --post302 . --no-post302 . : curl --post302 --location -d "data" https://example.com --post301 --post303 --location . --post303 (HTTP) RFC 7231/6.4.4 POST GET 303. POST 303 POST . --location . --post303 . --no-post303 . : curl --post303 --location -d "data" https://example.com --post302 --post301 --location. --preproxy <[protocol://]host[:port]> --proxy HTTP HTTPS SOCKS . curl SOCKS ( SOCKS) HTTP HTTPS (pre proxy) . "protocol://" . "socks4://" "socks4a://" "socks5://" "socks5h://" SOCKS . curl SOCKS4 . 1080 . curl (URL decode) . @ %40 %3a . --preproxy . : curl --preproxy socks5://proxy.example -x http://http.example https://example.com --proxy --socks5. -#, --progress-bar curl . '#' . (-=o=-) . --next . --progress-bar . --no-progress-bar . : curl -# -O https://example.com --styled-output. --proto . 'all' . : + ( ). - . = ( ) . : --proto -ftps ftps --proto -all,https,+http http https --proto =http,https http https . curl . . --proto . : curl --proto =http,https,sftp https://example.com --proto-redir --proto-default. --proto-default protocol URL (scheme) . "://" . CURLE_UNSUPPORTED_PROTOCOL . (http) . curl --url . "ipfs" "ipns" . URL . --proto-default . : curl --proto-default https ftp.example.com --proto --proto-redir . --proto-redir (redirects) . --proto (override) . --proto . HTTP HTTPS : curl --proto-redir -all,http,https --follow http://example.com curl HTTP HTTPS FTP FTPS . all +all . --proto-redir . : curl --proto-redir =http,https --follow https://example.com --proto --follow . -x, --proxy <[protocol://]host[:port]> . "protocol://" . http:// HTTP . "socks4://" "socks4a://" "socks5://" "socks5h://" SOCKS . (Unix domain sockets) socks . localhost socks5h://localhost/path/to/socket.sock HTTPS "https://" OpenSSL GnuTLS . mbedTLS Rustls Schannel wolfSSL ( 7.87.0) . . (port) 1080 . (override) . "" . HTTP HTTP . . --proxytunnel . curl URL . @ %40 %3a . ("http://") + . FTP --ftp-port . FTP HTTP --proxytunnel curl HTTP URL FTP . FTP --ssl-reqd --ftp-ssl-control. --proxy . : curl --proxy http://proxy.example https://example.com --socks5 --proxy-basic . --proxy-anyauth HTTP . (round-trip) / . : curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com --proxy --proxy-basic --proxy-digest. --proxy-basic HTTP Basic . HTTP Basic --basic . Basic curl . --proxy-basic . --no-proxy-basic . : curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com --proxy --proxy-anyauth --proxy-digest. --proxy-ca-native (TLS) HTTPS CA . CA HTTPS . CA . --ca-native HTTPS . TLS --ca-native . --proxy-ca-native . --no-proxy-ca-native . : curl --proxy-ca-native https://example.com 8.2.0 . --ca-native --cacert --capath --dump-ca-embed --insecure. --proxy-cacert HTTPS . CA . () PEM . (trust) . --cacert HTTPS . --proxy-cacert . : curl --proxy-cacert CA-file.txt -x https://proxy.example https://example.com --proxy-capath --cacert --capath --dump-ca-embed --proxy. --proxy-capath --capath HTTPS . . (":") ( "path1:path2:path3"). PEM curl OpenSSL c_rehash OpenSSL . --proxy-cacert CA --proxy-capath curl OpenSSL SSL --proxy-cacert . capath . --proxy-capath . : curl --proxy-capath /local/directory -x https://proxy.example https://example.com --proxy-cacert --proxy --capath --dump-ca-embed. --proxy-cert HTTPS . PEM . . --proxy-key . --cert HTTPS . --proxy-cert . : curl --proxy-cert file -x https://proxy.example https://example.com --proxy --proxy-key --proxy-cert-type. --proxy-cert-type HTTPS . PEM DER ENG PROV P12 . TLS PEM . Schannel P12 . --proxy-cert pkcs11: ENG PROV ( OpenSSL). --cert-type HTTPS . --proxy-cert-type . : curl --proxy-cert-type PEM --proxy-cert file -x https://proxy.example https://example.com --proxy-cert --proxy-key . --proxy-ciphers (TLS) --ciphers HTTPS . TLS 1.2 (1.1, 1.0) (cipher suites) HTTPS . . : https://curl.se/docs/ssl-ciphers.html --proxy-ciphers . : curl --proxy-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256 -x https://proxy.example https://example.com --proxy-tls13-ciphers --ciphers --proxy . --proxy-crlfile PEM (CRL) HTTPS . --crlfile HTTPS . --proxy-crlfile . : curl --proxy-crlfile rejects.txt -x https://proxy.example https://example.com --crlfile --proxy . --proxy-digest HTTP Digest . --digest HTTP Digest . --proxy-digest . --no-proxy-digest . : curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com --proxy --proxy-anyauth --proxy-basic . --proxy-header
(HTTP) HTTP . . --header CONNECT . curl : . curl . @filename . @- curl stdin . . --proxy-header . : curl --proxy-header "X-First-Name: Joe" -x http://proxy https://example.com curl --proxy-header "User-Agent: surprise" -x http://proxy https://example.com curl --proxy-header "Host:" -x http://proxy https://example.com --proxy --header . --proxy-http2 (HTTP) HTTP/2 HTTPS. HTTP/1 curl . . "--proxy-http3" . --proxy-http2 . --no-proxy-http2 . : curl --proxy-http2 -x proxy https://example.com --proxy-http2 libcurl HTTP/2 . --proxy-http3 . 8.1.0. : --proxy. --proxy-http3 (HTTP) HTTP/3 HTTPS. HTTP/3 . . "--proxy-http2" . HTTP/3 . autotools "--enable-proxy-http3" . CMake "-DUSE_PROXY_HTTP3=ON" . --proxy-http3 . --no-proxy-http3 . : curl --proxy-http3 -x proxy https://example.com --proxy-http3 libcurl HTTP/3 . --proxy-http2 . 8.21.0. : --proxy --proxy-http2. --proxy-insecure --insecure HTTPS . curl . curl . HTTPS curl TLS : CA . : https://curl.se/docs/sslcerts.html : . --proxy-insecure . --no-proxy-insecure . : curl --proxy-insecure -x https://proxy.example https://example.com : --proxy --insecure. --proxy-key HTTPS . --key HTTPS . --proxy-key . : curl --proxy-key here -x https://proxy.example https://example.com : --proxy-key-type --proxy. --proxy-key-type --proxy-key . DER PEM ENG . PEM . --key-type HTTPS . --proxy-key-type . : curl --proxy-key-type DER --proxy-key here -x https://proxy.example https://example.com : --proxy-key --proxy. --proxy-negotiate HTTP Negotiate (SPNEGO) . HTTP Negotiate (SPNEGO) --negotiate . --proxy-negotiate . : curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com : --proxy-anyauth --proxy-basic --proxy-service-name. --proxy-ntlm HTTP NTLM . NTLM --ntlm . --proxy-ntlm . --no-proxy-ntlm . : curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com : --proxy-negotiate --proxy-anyauth --proxy-user. --proxy-pass HTTPS. --pass HTTPS . --proxy-pass . : curl --proxy-pass secret --proxy-key here -x https://proxy.example https://example.com : --proxy --proxy-key. --proxy-pinnedpubkey (TLS) ( ) . PEM DER sha256 base64 'sha256//' ';' . TLS SSL . curl . curl 8.10.0 . --proxy-pinnedpubkey . : curl --proxy-pinnedpubkey keyfile https://example.com curl --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com : --pinnedpubkey --proxy. --proxy-service-name SPNEGO . --proxy-service-name . : curl --proxy-service-name "shrubbery" -x proxy https://example.com : --service-name --proxy --proxy-negotiate. --proxy-ssl-allow-beast HTTPS TLS1.0 BEAST . TLS . TLS 1.0 curl HTTPS TLS . : TLS . --ssl-allow-beast HTTPS . --proxy-ssl-allow-beast . --no-proxy-ssl-allow- beast . : curl --proxy-ssl-allow-beast -x https://proxy.example https://example.com : --ssl-allow-beast --proxy. --proxy-ssl-auto-client-cert --ssl-auto-client-cert HTTPS . Schannel . --proxy-ssl-auto-client-cert . --no- proxy-ssl-auto-client-cert . : curl --proxy-ssl-auto-client-cert -x https://proxy.example https://example.com 7.77.0 . --ssl-auto-client-cert --proxy. --proxy-tls13-ciphers (TLS) --tls13-ciphers HTTPS . HTTPS TLS 1.3 . . TLS 1.3 : https://curl.se/docs/ssl-ciphers.html curl OpenSSL 1.1.1 Schannel wolfSSL mbedTLS 3.6.0 . curl 8.10.0 mbedTLS wolfSSL TLS 1.3 --proxy-ciphers . --proxy-tls13-ciphers . : curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com --proxy-ciphers --tls13-ciphers --proxy. --proxy-tlsauthtype . 8.22.0 . TLS HTTPS . "SRP" TLS-SRP (RFC 5054) . libcurl TLS-SRP . --tlsauthtype HTTPS . --proxy-tlsauthtype . : curl --proxy-tlsauthtype SRP -x https://proxy.example https://example.com --proxy --proxy-tlsuser --proxy-tlspassword. --proxy-tlspassword . 8.22.0 . TLS --proxy-tlsauthtype HTTPS . --proxy-tlsuser . TLS 1.3 . --tlspassword HTTPS . --proxy-tlspassword . : curl --proxy-tlspassword passwd -x https://proxy.example https://example.com --proxy --proxy-tlsuser. --proxy-tlsuser . 8.22.0 . HTTPS TLS --proxy-tlsauthtype . --proxy-tlspassword . TLS 1.3 . --proxy-tlsuser . : curl --proxy-tlsuser smith -x https://proxy.example https://example.com --proxy --proxy-tlspassword. --proxy-tlsv1 HTTPS TLS 1.x . TLS 1.0 . --tlsv1 HTTPS. --proxy-tlsv1 . : curl --proxy-tlsv1 -x https://proxy.example https://example.com --proxy. -U, --proxy-user . curl SSPI Negotiate NTLM curl : "-U :". curl . . . --proxy-user . : curl --proxy-user smith:secret -x proxy https://example.com --proxy-pass. --proxy1.0 HTTP 1.0 . 1080 . HTTP --proxy CONNECT HTTP 1.0 HTTP 1.1 . --proxy1.0 . : curl --proxy1.0 http://proxy https://example.com --proxy --socks5 --preproxy. -p, --proxytunnel HTTP --proxy curl . CONNECT HTTP curl . CONNECT curl --suppress-connect-headers . --proxytunnel . --no-proxytunnel . : curl --proxytunnel -x http://proxy https://example.com --proxy. --pubkey (SFTP SCP) . . curl . libcurl libssh2 1.2.8 OpenSSL . --pubkey . : curl --pubkey file.pub sftp://example.com/ --pass. -Q, --quote (FTP SFTP) FTP SFTP. (quote) ( PWD FTP). '-' . ( FTP) curl () '+' . . curl . curl (*) . . FTP RFC 959 FTP SFTP . SFTP . FTP curl quote SFTP . . : \\ \" \'. quote SFTP : atime date file atime file . date curl_getdate(3) . ( 7.73.0) chgrp group file chgrp (group ID) file group . group . chmod mode file chmod (file mode bits) . mode () . chown user file chown file user . user . ln source_file target_file ln symlink target_file source_file . mkdir directory_name mkdir directory_name . mtime date file mtime file . date curl_getdate(3) . ( 7.73.0) pwd pwd . rename source target rename source target . rm file rm file . rmdir directory rmdir directory . symlink source_file target_file ln . --quote . : curl --quote "DELE file" ftp://example.com/foo --request . --random-file . ( 7.84.0). curl OpenSSL . . (seed) SSL . --random-file . : curl --random-file rubbish https://example.com --egd-file . -r, --range (HTTP FTP SFTP FILE) ( ) HTTP/1.1 FTP SFTP FILE . . 0-499 500-999 -500 9500- 0-0,-1 (*)(HTTP) 100-199,500-599 100- (*) (HTTP) (*) = curl (as-is) . (meta information) . . (0-9) 'start' 'stop' 'start-stop' . . HTTP/1.1 curl . FTP SFTP 'start-stop' ( ). FTP FTP SIZE . HTTP POST PUT . HTTP curl . --continue-at : . --range . : curl --range 22-44 https://example.com --continue-at --append . --rate curl - ( ). curl . URL curl . --parallel . "N/U" N U . 's' () 'm' () 'h' () 'd' ( ). "/U" . curl . . . --retry . 8.10.0 . "5/15s" curl "3/4h" . . --next . --rate . : curl --rate 2/s https://example.com ... curl --rate 3/h https://example.com ... curl --rate 14/m https://example.com ... 7.84.0 . --limit-rate --retry-delay . --raw (HTTP) HTTP . --raw . --no-raw . : curl --raw https://example.com --tr-encoding . -e, --referer (HTTP) (URL) HTTP . --header . --location ";auto" URL --referer curl Location: URL . ";auto" --referer . --referer . : curl --referer "https://fake.example" https://example.com curl --referer "https://fake.example;auto" -L https://example.com curl --referer ";auto" -L https://example.com --user-agent --header . -J, --remote-header-name (HTTP) --remote-name URL Content-Disposition . . --output-dir . - --clobber . . () %- . "filename" "filename*" ( ) . 8.19.0 "Content-Disposition:" curl . : Windows . DLL Windows . --remote-header-name . --no-remote-header- name . : curl -OJ https://example.com/file --remote-name . -O, --remote-name . ( .) . curl --output-dir . URL . --remote-header-name . . URL . %20 URL (as-is) . URL . curl 8.10.0 URL curl URL . 8.10.0 curl URL "curl_response" ( ) . --remote-name URL . URL URL . : curl -O https://example.com/filename curl -O https://example.com/filename -O https://example.com/file2 : --remote-name-all --output-dir --remote-header-name. --remote-name-all URL --remote-name . --remote-name-all URL "-o -" --no-remote-name . --remote-name-all . --no- remote-name-all . : curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2 : --remote-name. -R, --remote-time curl (timestamp) . --remote-time . --no- remote-time . : curl --remote-time -o foo https://example.com : --remote-name --time-cond. --remove-on-error curl . curl . (regular file) . --continue-at --remove-on-error . --remove-on-error . --no- remove-on-error . : curl --remove-on-error -o output https://example.com 7.83.0. : --fail. -X, --request . curl . . HTTP HTTP . ( GET ) . HTTP 1.1 . HTTP PUT DELETE WebDAV PROPFIND COPY MOVE . . GET HEAD POST PUT . HTTP curl . HEAD -X HEAD . --head . --location --request curl 30x HTTP - - (side-effects) . --follow --request . FTP FTP LIST FTP . POP3 POP3 LIST RETR . IMAP IMAP LIST . SMTP SMTP HELP VRFY . --request . : curl --request "DELETE" https://example.com curl -X NLST ftp://example.com/ --request-target --follow . --request-target (HTTP) () URL. HTTP URL ( "OPTIONS *") . curl . . --request-target . : curl --request-target "*" -X OPTIONS https://example.com --request . --resolve <[+]host:port:addr[,addr]...> . () curl . /etc/hosts . . . "*" curl . (Wildcard) --resolve . --ipv4 --ipv6 curl IP . '+' curl ( ) . . curl . IPv6 [] . --connect-to . 7.64.0 . '+' 7.75.0 . IPv6 8.13.0 . --resolve . : curl --resolve example.com:443:127.0.0.1 https://example.com curl --resolve example.com:443:[2001:db8::252f:efd6] https://example.com --connect-to --alt-svc . --retry curl . 0 curl ( ). : (timeout) FTP 4xx HTTP 408 429 500 502 503 504 522 524. curl . --retry-delay . --retry-max-time . curl Retry-After: ( 7.66.0 ). --retry . : curl --retry 7 https://example.com --retry-max-time --retry-connrefused --retry-delay . --retry-all-errors . --retry . <<>> . ( curlrc ) . . . . : curl . . (| pipe) (> file) . . curl HTTP HTTP . 404 Not Found . --retry curl HTTP 4xx 404 . HTTP (4xx 5xx) --fail . --retry-all-errors . --no-retry-all-errors . : curl --retry 5 --retry-all-errors https://example.com 7.71.0 . : --retry. --retry-connrefused ECONNREFUSED --retry . --retry . . --retry-connrefused . --no-retry-connrefused . : curl --retry-connrefused --retry 7 https://example.com : --retry --retry-all-errors. --retry-delay curl ( ). --retry . curl . curl . 8.16.0 curl . (.) - . --retry-delay . : curl --retry-delay 5 --retry 7 https://example.com : --retry --retry-max-time. --retry-max-time . (: --retry) . . --max-time . . ( --retry-delay) . curl . . (wall clock time) . --max-time . 8.16.0 curl . (.) - . --retry-max-time . : curl --retry-max-time 30 --retry 10 https://example.com : --retry --retry-delay. --sasl-authzid (LDAP IMAP POP3 SMTP) SASL PLAIN (authcid) --user (authzid) . authzid authcid . --sasl-authzid . : curl --sasl-authzid zid imap://example.com/ 7.66.0 . --login-options. --sasl-ir (LDAP IMAP POP3 SMTP) SASL . << >> . --sasl-ir . --no-sasl-ir . : curl --sasl-ir imap://example.com/ --sasl-authzid. --service-name SPNEGO . --service-name . : curl --service-name sockd/server https://example.com --negotiate --proxy-service-name. -S, --show-error --silent curl . --next . --show-error . --no-show-error . : curl --show-error --silent https://example.com --no-progress-meter. -i, --show-headers (HTTP FTP) . HTTP HTTP . HTTP <<>> . / . --dump-header . HTTP tty curl (bold) "Location:" . --no-styled-output . ( --styled-output "--no-" .) --verbose . 7.75.0 --fail curl . 8.10.0 --include . . --show-headers . --no-show-headers . : curl -i https://example.com --verbose --dump-header. --sigalgs (TLS) SSL RFC 5246 7.4.1.4.1 . "+" ( "ECDSA+SHA224") TLS 1.3 ( "ed25519") . ":" ( "DSA+SHA256:rsa_pss_pss_sha256"). "-sigalgs" "s_client" "s_server" OpenSSL . "--sigalgs" curl OpenSSL SSL . OpenSSL . --sigalgs . : curl --sigalgs ecdsa_secp256r1_sha256 https://example.com 8.14.0 . --ciphers. -s, --silent . . curl . terminal/stdout . --show-error . --silent . --no-silent . : curl -s https://example.com --verbose --stderr --no-progress-meter . --skip-existing . curl . --skip-existing . --no-skip- existing . : curl --skip-existing --output local/dir/file https://example.com 8.10.0 . --output --remote-name --no-clobber . --socks4 SOCKS4 . 1080 . curl . Unix domain socket localhost host . : "socks4://localhost/path/to/socket.sock" ( scheme ). --proxy . "socks4://" socks4 --proxy . --preproxy SOCKS HTTP/HTTPS . curl SOCKS ( SOCKS) HTTP HTTPS . --socks4 . : curl --socks4 hostname:4096 https://example.com --proxy --socks4a --socks5 --socks5-hostname . --socks4a --socks5 --socks5-hostname . --socks4a SOCKS4a . 1080 . . Unix domain socket localhost host . : "socks4a://localhost/path/to/socket.sock" ( scheme ). --proxy . "socks4a://" socks4a --proxy . --preproxy SOCKS --proxy HTTP/HTTPS . curl SOCKS ( SOCKS) HTTP HTTPS . --socks4a . : curl --socks4a hostname:4096 https://example.com --proxy --socks4 --socks5 --socks5-hostname . --socks4 --socks5 --socks5-hostname . --socks5 SOCKS5 - . 1080 . Unix domain socket localhost host . : "socks5://localhost/path/to/socket.sock" ( scheme ). --proxy . "socks5://" socks5 --proxy . --preproxy SOCKS --proxy HTTP/HTTPS . curl SOCKS ( SOCKS) HTTP HTTPS . FTPS LDAP . --socks5 . : curl --socks5 proxy.example:7000 https://example.com curl --socks5 localhost/path/unix-domain https://example.com --proxy --socks4 --socks4a --socks5-hostname . --socks5-hostname --socks4a . --socks5-basic SOCKS5 / . / . GSS-API SOCKS5 --socks5-gssapi . --socks5-basic . : curl --socks5-basic --socks5 hostname:4096 https://example.com --socks5 . --socks5-gssapi (GSS/kerberos) SOCKS5 GSS-API . GSS-API ( curl GSS-API ). / SOCKS5 --socks5-basic . --socks5-gssapi . --no-socks5-gssapi . : curl --socks5-gssapi --socks5 hostname:4096 https://example.com --socks5 . --socks5-gssapi-nec (GSS/kerberos) GSS-API . RFC 1961 4.3/4.4 NEC . --socks5-gssapi-nec . --socks5-gssapi-nec . --no-socks5-gssapi-nec . : curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com --socks5 . --socks5-gssapi-service socks . rcmd/server-fqdn . --socks5-gssapi-service . : curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com --socks5 . --socks5-hostname SOCKS5 ( ). 1080 . localhost . : "socks5h://localhost/path/to/socket.sock" ( ). --proxy . "socks5h://" --proxy socks5 . --preproxy SOCKS --proxy HTTP/HTTPS . curl SOCKS ( SOCKS) HTTP HTTPS . --socks5-hostname . : curl --socks5-hostname proxy.example:7000 https://example.com --proxy --socks4 --socks4a --socks5 . --socks5 --socks4a . -Y, --speed-limit ( ) . --speed-time 30 . --speed-limit . : curl --speed-limit 300 --speed-time 10 https://example.com --speed-time --limit-rate --max-time . -y, --speed-time speed-time speed-limit . speed-time speed-limit --speed-limit . ( ) . --connect-timeout . --speed-time . : curl --speed-limit 300 --speed-time 10 https://example.com : --speed-limit --limit-rate. --ssl (FTP IMAP POP3 SMTP LDAP) : . --ssl-reqd curl . SSL/TLS - STARTTLS STLS . SSL/TLS . --ftp-ssl-control --ssl-reqd . LDAP ( 7.81.0). OpenLDAP ldap . . --ftp-ssl-control . --ftp-ssl . . --ssl . --no-ssl . : curl --ssl pop3://example.com : --ssl-reqd --insecure --ciphers. --ssl-allow-beast (TLS) TLS1.0 BEAST ( ). TLS . TLS 1.0 curl TLS . : TLS . --ssl-allow-beast . --no-ssl-allow-beast . : curl --ssl-allow-beast https://example.com : --proxy-ssl-allow-beast --insecure. --ssl-auto-client-cert (TLS) (Schannel) . . --ssl-auto-client-cert . --no-ssl-auto-client-cert . : curl --ssl-auto-client-cert https://example.com 7.77.0. : --proxy-ssl-auto-client-cert. --ssl-no-revoke (TLS) (Schannel) . : SSL . --ssl-no-revoke . --no-ssl-no-revoke . : curl --ssl-no-revoke https://example.com : --crlfile. --ssl-reqd (FTP IMAP POP3 SMTP LDAP) SSL/TLS - STARTTLS STLS . SSL/TLS . LDAP ( 7.81.0). OpenLDAP TLS (explicit) ldap . URL TLS FTPS IMAPS POP3S SMTPS LDAPS . TLS . --ftp-ssl-reqd . --ssl-reqd . --no-ssl-reqd . : curl --ssl-reqd ftp://example.com --ssl --insecure . --ssl-revoke-best-effort (TLS) (Schannel) . --ssl-revoke-best-effort . --no-ssl-revoke-best-effort . : curl --ssl-revoke-best-effort https://example.com 7.70.0. --crlfile --insecure . --ssl-sessions (TLS) ****: . . SSL curl . curl SSL . curl . . "--tls-earlydata" SSL "0-RTT" . (early data) . (forward secrecy) . SSL base64 . . . libcurl / SSL (SSLS-EXPORT) . --ssl-sessions . : curl --ssl-sessions sessions.txt https://example.com 8.12.0. --tls-earlydata . -2, --sslv2 (SSL) curl SSLv2 ( 7.77.0). SSLv2 (RFC 6176 ). --sslv2 . : curl --sslv2 https://example.com --sslv2 libcurl TLS . --sslv3 --tlsv1 --tlsv1.1 --tlsv1.2 . --http1.1 --http2 . -3, --sslv3 (SSL) curl SSLv3 ( 7.77.0). SSLv3 (RFC 7568 ). --sslv3 . : curl --sslv3 https://example.com --sslv3 libcurl TLS . --sslv2 --tlsv1 --tlsv1.1 --tlsv1.2 . --http1.1 --http2 . --stderr stderr . '-' stdout . --next . --stderr . : curl --stderr output.txt https://example.com : --verbose --silent. --styled-output (bold) HTTP . --no-styled-output . . curl Windows . --next . --styled-output . --no-styled-output . : curl --styled-output -I https://example.com : --head --verbose. --suppress-connect-headers --proxytunnel CONNECT CONNECT . --dump-header --show-headers . --verbose --trace . --suppress-connect-headers . --no-suppress-connect- headers . : curl --suppress-connect-headers --show-headers -x proxy https://example.com : --dump-header --show-headers --proxytunnel. --tcp-fastopen TCP Fast Open (RFC 7413) . TCP Fast Open TCP ( ACK ) . --tcp-fastopen . --no-tcp-fastopen . : curl --tcp-fastopen https://example.com : --false-start. --tcp-nodelay TCP_NODELAY . Nagle TCP . ( << >> (segments) TCP Maximum Segment Size ). TCP . . . curl . --tcp-nodelay . --no-tcp-nodelay . : curl --tcp-nodelay https://example.com : --no-buffer. -t, --telnet-option (TELNET) telnet. : TTYPE= . XDISPLOC= X . NEW_ENV= . --telnet-option . : curl -t TTYPE=vt100 telnet://example.com : --config. --tftp-blksize (TFTP) BLKSIZE TFTP ( ). curl TFTP . . --tftp-blksize . : curl --tftp-blksize 1024 tftp://example.com/file : --tftp-no-options. --tftp-no-options (TFTP) TFTP . TFTP . --tftp-blksize . --tftp-no-options . --no-tftp-no-options . : curl --tftp-no-options tftp://192.168.0.1 : --tftp-blksize. -z, --time-cond