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