curl <command>

Transfer a URL

Arguments

NameDescription
command

Options

NameDescription
-a,--appendAppend to target file when uploading
-E,--cert <command>Client certificate file and password
-K,--config <command>Read config from a file
-C,--continue-at <command>Resumed transfer offset
-b,--cookie <command>Send cookies from string/file
-c,--cookie-jar <command>Write cookies to <filename> after operation
-d,--data <command>
  • Repeatable ♾
-q,--disableDisable .curlrc
-D,--dump-header <command>Write the received headers to <filename>
-f,--failFail silently (no output at all) on HTTP errors
-F,--form <command>
  • Repeatable ♾
-P,--ftp-port <command>Use PORT instead of PASV
-G,--getPut the post data in the URL and use GET
-g,--globoffDisable URL sequences and ranges using {} and []
-I,--headShow document info only
-H,--header <command>Pass custom header(s) to server
-h,--helpThis help text
-0,--http1.0Use HTTP 1.0
-i,--includeInclude protocol response headers in the output
-k,--insecureAllow insecure server connections when using SSL
-4,--ipv4Resolve names to IPv4 addresses
-6,--ipv6Resolve names to IPv6 addresses
-j,--junk-session-cookiesIgnore session cookies read from file
-l,--list-onlyList only mode
-L,--locationFollow redirects
-M,--manualDisplay the full manual
-m,--max-time <command>Maximum time allowed for the transfer
-n,--netrcMust read .netrc for user name and password
-:,--nextMake next URL use its separate set of options
-N,--no-bufferDisable buffering of the output stream
-o,--output <command>Write to file instead of stdout
-#,--progress-barDisplay transfer progress as a bar
-x,--proxy[protocol://]host[:port] Use this proxy
-U,--proxy-user <command>Proxy user and password
-p,--proxytunnelOperate through an HTTP proxy tunnel (using CONNECT)
-Q,--quoteSend command(s) to server before transfer
-r,--range <command>Retrieve only the bytes within RANGE
-e,--referer <command>Referrer URL
-J,--remote-header-nameUse the header-provided filename
-O,--remote-nameWrite output to a file named as the remote file
-R,--remote-timeSet the remote file's time on the local output
-X,--request <command>Specify request command to use
-S,--show-errorShow error even when -s is used
-s,--silentSilent mode
-Y,--speed-limit <command>Stop transfers slower than this
-y,--speed-time <command>Trigger 'speed-limit' abort after this time
-2,--sslv2Use SSLv2
-3,--sslv3Use SSLv3
-t,--telnet-option <command>Set telnet option
-z,--time-cond <command>Transfer based on a time condition
-1,--tlsv1Use TLSv1.0 or greater
-T,--upload-file <command>Transfer local FILE to destination
-B,--use-asciiUse ASCII/text transfer
-u,--user <command>Server user and password
-A,--user-agent <command>Send User-Agent <name> to server
-v,--verboseMake the operation more talkative
-V,--versionShow version number and quit
-w,--write-out <command>Use output FORMAT after completion
--abstract-unix-socket <command>Connect via abstract Unix domain socket
--alt-svc <command>Name> Enable alt-svc with this cache file
--anyauthPick any authentication method
--basicUse HTTP Basic Authentication
--cacert <command>CA certificate to verify peer against
--capath <command>CA directory to verify peer against
--cert-statusVerify the status of the server certificate
--cert-type <command>Certificate file type
--ciphers <command>Of ciphers> SSL ciphers to use
--compressedRequest compressed response
--compressed-sshEnable SSH compression
--connect-timeout <command>Maximum time allowed for connection
--connect-to <command>Connect to host
--create-dirsCreate necessary local directory hierarchy
--crlfConvert LF to CRLF in upload
--crlfile <command>Get a CRL list in PEM format from the given file
--data-ascii <command>HTTP POST ASCII data
--data-binary <command>HTTP POST binary data
--data-raw <command>HTTP POST data, '@' allowed
--data-urlencode <command>HTTP POST data url encoded
--delegation <command>GSS-API delegation permission
--digestUse HTTP Digest Authentication
--disable-eprtInhibit using EPRT or LPRT
--disable-epsvInhibit using EPSV
--disallow-username-in-urlDisallow username in url
--dns-interface <command>Interface to use for DNS requests
--dns-ipv4-addr <command>IPv4 address to use for DNS requests
--dns-ipv6-addr <command>IPv6 address to use for DNS requests
--dns-servers <command>DNS server addrs to use
--doh-url <command>Resolve host names over DOH
--egd-file <command>EGD socket path for random data
--engine <command>Crypto engine to use
--expect100-timeout <command>How long to wait for 100-continue
--fail-earlyFail on first transfer error, do not continue
--false-startEnable TLS False Start
--form-string <command>Specify multipart MIME data
--ftp-account <command>Account data string
--ftp-alternative-to-user <command>String to replace USER [name]
--ftp-create-dirsCreate the remote dirs if not present
--ftp-method <command>Control CWD usage
--ftp-pasvUse PASV/EPSV instead of PORT
--ftp-pretSend PRET before PASV
--ftp-skip-pasv-ipSkip the IP address for PASV
--ftp-ssl-cccSend CCC after authenticating
--ftp-ssl-ccc-mode <command>Set CCC mode
--ftp-ssl-controlRequire SSL/TLS for FTP login, clear for transfer
--happy-eyeballs-timeout-ms <command>How long to wait in milliseconds for IPv6 before trying IPv4
--haproxy-protocolSend HAProxy PROXY protocol v1 header
--hostpubmd5 <command>Acceptable MD5 hash of the host public key
--http0.9Allow HTTP 0.9 responses
--http1.1Use HTTP 1.1
--http2Use HTTP 2
--http2-prior-knowledgeUse HTTP 2 without HTTP/1.1 Upgrade
--ignore-content-lengthIgnore the size of the remote resource
--interface <command>Use network INTERFACE (or address)
--keepalive-time <command>Interval time for keepalive probes
--key <command>Private key file name
--key-type <command>Private key file type
--krb <command>Enable Kerberos with security <level>
--libcurl <command>Dump libcurl equivalent code of this command line
--limit-rate <command>Limit transfer speed to RATE
--local-port <command>Force use of RANGE for local port numbers
--location-trustedLike --location, and send auth to other hosts
--login-options <command>Server login options
--mail-auth <command>Originator address of the original email
--mail-from <command>Mail from this address
--mail-rcpt <command>Mail to this address
--max-filesize <command>Maximum file size to download
--max-redirs <command>Maximum number of redirects allowed
--metalinkProcess given URLs as metalink XML file
--negotiateUse HTTP Negotiate (SPNEGO) authentication
--netrc-file <command>Specify FILE for netrc
--netrc-optionalUse either .netrc or URL
--no-alpnDisable the ALPN TLS extension
--no-keepaliveDisable TCP keepalive on the connection
--no-npnDisable the NPN TLS extension
--no-sessionidDisable SSL session-ID reusing
--noproxy <command>List of hosts which do not use proxy
--ntlmUse HTTP NTLM authentication
--ntlm-wbUse HTTP NTLM authentication with winbind
--oauth2-bearer <command>OAuth 2 Bearer Token
--pass <command>Pass phrase for the private key
--path-as-isDo not squash .. sequences in URL path
--pinnedpubkey <command>FILE/HASHES Public key to verify peer against
--post301Do not switch to GET after following a 301
--post302Do not switch to GET after following a 302
--post303Do not switch to GET after following a 303
--preproxy[protocol://]host[:port] Use this proxy first
--proto <command>Enable/disable PROTOCOLS
--proto-default <command>Use PROTOCOL for any URL missing a scheme
--proto-redir <command>Enable/disable PROTOCOLS on redirect
--proxy-anyauthPick any proxy authentication method
--proxy-basicUse Basic authentication on the proxy
--proxy-cacert <command>CA certificate to verify peer against for proxy
--proxy-capath <command>CA directory to verify peer against for proxy
--proxy-cert <command>Set client certificate for proxy
--proxy-cert-type <command>Client certificate type for HTTPS proxy
--proxy-ciphers <command>SSL ciphers to use for proxy
--proxy-crlfile <command>Set a CRL list for proxy
--proxy-digestUse Digest authentication on the proxy
--proxy-header <command>Pass custom header(s) to proxy
--proxy-insecureDo HTTPS proxy connections without verifying the proxy
--proxy-key <command>Private key for HTTPS proxy
--proxy-key-type <command>Private key file type for proxy
--proxy-negotiateUse HTTP Negotiate (SPNEGO) authentication on the proxy
--proxy-ntlmUse NTLM authentication on the proxy
--proxy-pass <command>Pass phrase for the private key for HTTPS proxy
--proxy-pinnedpubkey <command>FILE/HASHES public key to verify proxy with
--proxy-service-name <command>SPNEGO proxy service name
--proxy-ssl-allow-beastAllow security flaw for interop for HTTPS proxy
--proxy-tls13-ciphers <command>List> TLS 1.3 proxy cipher suites
--proxy-tlsauthtype <command>TLS authentication type for HTTPS proxy
--proxy-tlspassword <command>TLS password for HTTPS proxy
--proxy-tlsuser <command>TLS username for HTTPS proxy
--proxy-tlsv1Use TLSv1 for HTTPS proxy
--proxy1.0 <command>Use HTTP/1.0 proxy on given port
--pubkey <command>SSH Public key file name
--random-file <command>File for reading random data from
--rawDo HTTP "raw"; no transfer decoding
--remote-name-allUse the remote file name for all URLs
--request-targetSpecify the target for this request
--resolve <command>Resolve the host+port to this address
--retry <command>Retry request if transient problems occur
--retry-connrefusedRetry on connection refused (use with --retry)
--retry-delay <command>Wait time between retries
--retry-max-time <command>Retry only within this period
--sasl-irEnable initial response in SASL authentication
--service-name <command>SPNEGO service name
--socks4 <command>SOCKS4 proxy on given host + port
--socks4a <command>SOCKS4a proxy on given host + port
--socks5 <command>SOCKS5 proxy on given host + port
--socks5-basicEnable username/password auth for SOCKS5 proxies
--socks5-gssapiEnable GSS-API auth for SOCKS5 proxies
--socks5-gssapi-necCompatibility with NEC SOCKS5 server
--socks5-gssapi-service <command>SOCKS5 proxy service name for GSS-API
--socks5-hostname <command>SOCKS5 proxy, pass host name to proxy
--sslTry SSL/TLS
--ssl-allow-beastAllow security flaw to improve interop
--ssl-no-revokeDisable cert revocation checks (Schannel)
--ssl-reqdRequire SSL/TLS
--stderrWhere to redirect stderr
--styled-outputEnable styled output for HTTP headers
--suppress-connect-headersSuppress proxy CONNECT response headers
--tcp-fastopenUse TCP Fast Open
--tcp-nodelayUse the TCP_NODELAY option
--tftp-blksize <command>Set TFTP BLKSIZE option
--tftp-no-optionsDo not send any TFTP options
--tls-max <command>Set maximum allowed TLS version
--tls13-ciphers <command>Of TLS 1.3 ciphersuites> TLS 1.3 cipher suites to use
--tlsauthtype <command>TLS authentication type
--tlspasswordTLS password
--tlsuser <command>TLS user name
--tlsv1.0Use TLSv1.0 or greater
--tlsv1.1Use TLSv1.1 or greater
--tlsv1.2Use TLSv1.2 or greater
--tlsv1.3Use TLSv1.3 or greater
--tr-encodingRequest compressed transfer encoding
--trace <command>Write a debug trace to FILE
--trace-ascii <command>Like --trace, but without hex output
--trace-timeAdd time stamps to trace/verbose output
--unix-socket <command>Connect through this Unix domain socket
--url <command>URL to work with
--xattrStore metadata in extended file attributes