All apps/curl

curl

curl

A command line tool and library for transferring data with URL syntax.

Runs as curl|macOS, Linux, Windows|curl.se

Autocomplete

Fig spec, with what the manifest adds · 225 options
Published once and never changed; check the digest before caching
sha256
0c270ac063403e44e358ca753fc10c68e491f0df9203332f3260ebea8448e580
Size
37427 bytes
OptionsOn curl itself
-a--append
Append to target file when uploading
-E--cert
Client certificate file and password <certificate[:password]>
-K--config
Read config from a file <file>
-C--continue-at
Resumed transfer offset <offset>
-b--cookie
Send cookies from string/file <data or filename>
-c--cookie-jar
Write cookies to <filename> after operation <filename>
-d--data
HTTP POST data <data>
-q--disable
Disable .curlrc
-D--dump-header
Write the received headers to <filename> <filename>
-f--fail
Fail silently (no output at all) on HTTP errors
-F--form
Specify multipart MIME data <content>
-P--ftp-port
Use PORT instead of PASV <address>
-G--get
Put the post data in the URL and use GET
-g--globoff
Disable URL sequences and ranges using {} and []
-I--head
Show document info only
-H--header
Pass custom header(s) to server <header/file>
-h--help
This help text
-0--http1.0
Use HTTP 1.0
-i--include
Include protocol response headers in the output
-k--insecure
Allow insecure server connections when using SSL
-4--ipv4
Resolve names to IPv4 addresses
-6--ipv6
Resolve names to IPv6 addresses
-j--junk-session-cookies
Ignore session cookies read from file
-l--list-only
List only mode
-L--location
Follow redirects
-M--manual
Display the full manual
-m--max-time
Maximum time allowed for the transfer <seconds>
-n--netrc
Must read .netrc for user name and password
-:--next
Make next URL use its separate set of options
-N--no-buffer
Disable buffering of the output stream
-o--output
Write to file instead of stdout <file>
-#--progress-bar
Display transfer progress as a bar
-x--proxy
[protocol://]host[:port] Use this proxy
-U--proxy-user
Proxy user and password <user:password>
-p--proxytunnel
Operate through an HTTP proxy tunnel (using CONNECT)
-Q--quote
Send command(s) to server before transfer
-r--range
Retrieve only the bytes within RANGE <range>
-e--referer
Referrer URL <URL>
-J--remote-header-name
Use the header-provided filename
-O--remote-name
Write output to a file named as the remote file
-R--remote-time
Set the remote file's time on the local output
-X--request
Specify request command to use <command>
-S--show-error
Show error even when -s is used
-s--silent
Silent mode
-Y--speed-limit
Stop transfers slower than this <speed>
-y--speed-time
Trigger 'speed-limit' abort after this time <seconds>
-2--sslv2
Use SSLv2
-3--sslv3
Use SSLv3
-t--telnet-option
Set telnet option <val>
-z--time-cond
Transfer based on a time condition <time>
-1--tlsv1
Use TLSv1.0 or greater
-T--upload-file
Transfer local FILE to destination <file>
-B--use-ascii
Use ASCII/text transfer
-u--user
Server user and password <user:password>
-A--user-agent
Send User-Agent <name> to server <name>
-v--verbose
Make the operation more talkative
-V--version
Show version number and quit
-w--write-out
Use output FORMAT after completion <format>
--abstract-unix-socket
Connect via abstract Unix domain socket <path>
--alt-svc
Name> Enable alt-svc with this cache file <file>
--anyauth
Pick any authentication method
--basic
Use HTTP Basic Authentication
--cacert
CA certificate to verify peer against <file>
--capath
CA directory to verify peer against <dir>
--cert-status
Verify the status of the server certificate
--cert-type
Certificate file type <type>
--ciphers
Of ciphers> SSL ciphers to use <list>
--compressed
Request compressed response
--compressed-ssh
Enable SSH compression
--connect-timeout
Maximum time allowed for connection <seconds>
--connect-to
Connect to host <HOST1:PORT1:HOST2:PORT2>
--create-dirs
Create necessary local directory hierarchy
--crlf
Convert LF to CRLF in upload
--crlfile
Get a CRL list in PEM format from the given file <file>
--data-ascii
HTTP POST ASCII data <data>
--data-binary
HTTP POST binary data <data>
--data-raw
HTTP POST data, '@' allowed <data>
--data-urlencode
HTTP POST data url encoded <data>
--delegation
GSS-API delegation permission <LEVEL>
--digest
Use HTTP Digest Authentication
--disable-eprt
Inhibit using EPRT or LPRT
--disable-epsv
Inhibit using EPSV
--disallow-username-in-url
Disallow username in url
--dns-interface
Interface to use for DNS requests <interface>
--dns-ipv4-addr
IPv4 address to use for DNS requests <address>
--dns-ipv6-addr
IPv6 address to use for DNS requests <address>
--dns-servers
DNS server addrs to use <addresses>
--doh-url
Resolve host names over DOH <URL>
--egd-file
EGD socket path for random data <file>
--engine
Crypto engine to use <name>
--etag-compare
Make a conditional HTTP request for the ETag read from the given file <file>
--etag-save
Save an HTTP ETag to the specified file <file>
--expect100-timeout
How long to wait for 100-continue <seconds>
--fail-early
Fail on first transfer error, do not continue
--fail-with-body
On HTTP errors, return an error and also output any HTML response
--false-start
Enable TLS False Start
--form-string
Specify multipart MIME data <string>
--ftp-account
Account data string <data>
--ftp-alternative-to-user
String to replace USER [name] <command>
--ftp-create-dirs
Create the remote dirs if not present
--ftp-method
Control CWD usage <method>
--ftp-pasv
Use PASV/EPSV instead of PORT
--ftp-pret
Send PRET before PASV
--ftp-skip-pasv-ip
Skip the IP address for PASV
--ftp-ssl-ccc
Send CCC after authenticating
--ftp-ssl-ccc-mode
Set CCC mode <mode>
--ftp-ssl-control
Require SSL/TLS for FTP login, clear for transfer
--happy-eyeballs-timeout-ms
How long to wait in milliseconds for IPv6 before trying IPv4 <milliseconds>
--haproxy-protocol
Send HAProxy PROXY protocol v1 header
--hostpubmd5
Acceptable MD5 hash of the host public key <md5>
--http0.9
Allow HTTP 0.9 responses
--http1.1
Use HTTP 1.1
--http2
Use HTTP 2
--http2-prior-knowledge
Use HTTP 2 without HTTP/1.1 Upgrade
--ignore-content-length
Ignore the size of the remote resource
--interface
Use network INTERFACE (or address) <name>
--keepalive-time
Interval time for keepalive probes <seconds>
--key
Private key file name <key>
--key-type
Private key file type <type>
--krb
Enable Kerberos with security <level> <level>
--libcurl
Dump libcurl equivalent code of this command line <file>
--limit-rate
Limit transfer speed to RATE <speed>
--local-port
Force use of RANGE for local port numbers <num/range>
--location-trusted
Like --location, and send auth to other hosts
--login-options
Server login options <options>
--mail-auth
Originator address of the original email <address>
--mail-from
Mail from this address <address>
--mail-rcpt
Mail to this address <address>
--max-filesize
Maximum file size to download <bytes>
--max-redirs
Maximum number of redirects allowed <num>
--metalink
Process given URLs as metalink XML file
--negotiate
Use HTTP Negotiate (SPNEGO) authentication
--netrc-file
Specify FILE for netrc <filename>
--netrc-optional
Use either .netrc or URL
--no-alpn
Disable the ALPN TLS extension
--no-keepalive
Disable TCP keepalive on the connection
--no-npn
Disable the NPN TLS extension
--no-sessionid
Disable SSL session-ID reusing
--noproxy
List of hosts which do not use proxy <no-proxy-list>
--ntlm
Use HTTP NTLM authentication
--ntlm-wb
Use HTTP NTLM authentication with winbind
--oauth2-bearer
OAuth 2 Bearer Token <token>
--pass
Pass phrase for the private key <phrase>
--path-as-is
Do not squash .. sequences in URL path
--pinnedpubkey
FILE/HASHES Public key to verify peer against <hashes>
--post301
Do not switch to GET after following a 301
--post302
Do not switch to GET after following a 302
--post303
Do not switch to GET after following a 303
--preproxy
[protocol://]host[:port] Use this proxy first
--proto
Enable/disable PROTOCOLS <protocols>
--proto-default
Use PROTOCOL for any URL missing a scheme <protocol>
--proto-redir
Enable/disable PROTOCOLS on redirect <protocols>
--proxy-anyauth
Pick any proxy authentication method
--proxy-basic
Use Basic authentication on the proxy
--proxy-cacert
CA certificate to verify peer against for proxy <file>
--proxy-capath
CA directory to verify peer against for proxy <dir>
--proxy-cert
Set client certificate for proxy <cert[:passwd]>
--proxy-cert-type
Client certificate type for HTTPS proxy <type>
--proxy-ciphers
SSL ciphers to use for proxy <list>
--proxy-crlfile
Set a CRL list for proxy <file>
--proxy-digest
Use Digest authentication on the proxy
--proxy-header
Pass custom header(s) to proxy <header/file>
--proxy-insecure
Do HTTPS proxy connections without verifying the proxy
--proxy-key
Private key for HTTPS proxy <key>
--proxy-key-type
Private key file type for proxy <type>
--proxy-negotiate
Use HTTP Negotiate (SPNEGO) authentication on the proxy
--proxy-ntlm
Use NTLM authentication on the proxy
--proxy-pass
Pass phrase for the private key for HTTPS proxy <phrase>
--proxy-pinnedpubkey
FILE/HASHES public key to verify proxy with <hashes>
--proxy-service-name
SPNEGO proxy service name <name>
--proxy-ssl-allow-beast
Allow security flaw for interop for HTTPS proxy
--proxy-tls13-ciphers
List> TLS 1.3 proxy cipher suites <ciphersuite>
--proxy-tlsauthtype
TLS authentication type for HTTPS proxy <type>
--proxy-tlspassword
TLS password for HTTPS proxy <string>
--proxy-tlsuser
TLS username for HTTPS proxy <name>
--proxy-tlsv1
Use TLSv1 for HTTPS proxy
--proxy1.0
Use HTTP/1.0 proxy on given port <host[:port]>
--pubkey
SSH Public key file name <key>
--random-file
File for reading random data from <file>
--raw
Do HTTP "raw"; no transfer decoding
--remote-name-all
Use the remote file name for all URLs
--request-target
Specify the target for this request
--resolve
Resolve the host+port to this address <host:port:address[,address]...>
--retry
Retry request if transient problems occur <num>
--retry-connrefused
Retry on connection refused (use with --retry)
--retry-delay
Wait time between retries <seconds>
--retry-max-time
Retry only within this period <seconds>
--sasl-ir
Enable initial response in SASL authentication
--service-name
SPNEGO service name <name>
--socks4
SOCKS4 proxy on given host + port <host[:port]>
--socks4a
SOCKS4a proxy on given host + port <host[:port]>
--socks5
SOCKS5 proxy on given host + port <host[:port]>
--socks5-basic
Enable username/password auth for SOCKS5 proxies
--socks5-gssapi
Enable GSS-API auth for SOCKS5 proxies
--socks5-gssapi-nec
Compatibility with NEC SOCKS5 server
--socks5-gssapi-service
SOCKS5 proxy service name for GSS-API <name>
--socks5-hostname
SOCKS5 proxy, pass host name to proxy <host[:port]>
--ssl
Try SSL/TLS
--ssl-auto-client-cert
Obtain and use a client certificate automatically
--ssl-allow-beast
Allow security flaw to improve interop
--ssl-no-revoke
Disable cert revocation checks (Schannel)
--ssl-reqd
Require SSL/TLS
--stderr
Where to redirect stderr
--styled-output
Enable styled output for HTTP headers
--suppress-connect-headers
Suppress proxy CONNECT response headers
--tcp-fastopen
Use TCP Fast Open
--tcp-nodelay
Use the TCP_NODELAY option
--tftp-blksize
Set TFTP BLKSIZE option <value>
--tftp-no-options
Do not send any TFTP options
--tls-max
Set maximum allowed TLS version <VERSION>
--tls13-ciphers
Of TLS 1.3 ciphersuites> TLS 1.3 cipher suites to use <list>
--tlsauthtype
TLS authentication type <type>
--tlspassword
TLS password
--tlsuser
TLS user name <name>
--tlsv1.0
Use TLSv1.0 or greater
--tlsv1.1
Use TLSv1.1 or greater
--tlsv1.2
Use TLSv1.2 or greater
--tlsv1.3
Use TLSv1.3 or greater
--tr-encoding
Request compressed transfer encoding
--trace
Write a debug trace to FILE <file>
--trace-ascii
Like --trace, but without hex output <file>
--trace-time
Add time stamps to trace/verbose output
--unix-socket
Connect through this Unix domain socket <path>
--url
URL to work with <url>
--xattr
Store metadata in extended file attributes
ArgumentsPositional, in order
<URL>
· history