linux:cli:curl

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linux:cli:curl [2025/01/08 05:47] – ↷ 문서가 linux:cli:curl에서 curl:en(으)로 이동되고 이름이 바뀌었습니다 writerlinux:cli:curl [2025/11/25 12:53] (현재) – [Example] writer
줄 1: 줄 1:
 +{{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>
 +
 +