cURL 치트시트
검색하고 인쇄할 수 있는 curl 참조 자료——HTTP 메서드, 헤더, 데이터와 폼, 인증, 다운로드, cookie, TLS, 프록시, 디버깅. 무료.
Basics
12curl https://api.example.com
Send a GET request and print the body
curl -o page.html https://example.com
Save the response to a named file
curl -O https://example.com/file.zip
Save using the remote file name
curl -i https://example.com
Show response headers plus the body
curl -I https://example.com
Fetch the response headers only (HEAD)
curl -v https://example.com
Verbose output of the request/response
curl -s https://example.com
Silent mode, hide progress and errors
curl -sS https://example.com
Silent but still show errors
curl -L https://example.com
Follow HTTP redirects (3xx)
curl https://a.com https://b.com
Request multiple URLs in one call
curl 'https://x.com/p?[1-5]'
Use a numeric range to loop URLs
curl --version
Print the curl version and features
HTTP methods
9curl -X GET https://api.example.com
Explicitly send a GET request
curl -X POST https://api.example.com
Send a POST request
curl -X PUT https://api.example.com/1
Send a PUT request to replace a resource
curl -X PATCH https://api.example.com/1
Send a PATCH request to update fields
curl -X DELETE https://api.example.com/1
Send a DELETE request
curl -I https://api.example.com
Send a HEAD request for headers only
curl -X OPTIONS https://api.example.com
Send an OPTIONS preflight request
curl --head https://api.example.com
Long form of -I for a HEAD request
curl --request POST https://x.com
Long form of -X to set the method
Headers
10curl -H 'Accept: application/json' https://x.com
Add a single request header
curl -H 'X-Token: abc' -H 'X-Env: dev' https://x.com
Add multiple headers
curl -H 'Content-Type: application/json' https://x.com
Declare the request body content type
curl -H 'Authorization: Bearer TOKEN' https://x.com
Send a bearer authorization header
curl -H 'Host: example.com' https://1.2.3.4
Override the Host header
curl -H 'Accept-Encoding: gzip' https://x.com
Request a gzip-compressed response
curl -A 'MyAgent/1.0' https://x.com
Set the User-Agent string
curl -e 'https://ref.com' https://x.com
Set the Referer header
curl -H 'X-Debug:' https://x.com
Remove a default header by leaving it empty
curl --compressed https://x.com
Ask for and auto-decompress the response
Sending data
11curl -d 'name=Jane&age=30' https://x.com
POST URL-encoded form data
curl -d '@payload.json' https://x.com
POST data read from a file
curl --data-urlencode 'q=hello world' https://x.com
POST a single URL-encoded field
curl --data-binary '@file.bin' https://x.com
POST raw bytes without processing
curl -G --data-urlencode 'q=cats' https://x.com
Append the data as a GET query string
curl -X POST -H 'Content-Type: application/json' -d '{"name":"Jane"}' https://x.com
POST a JSON body
curl --json '{"name":"Jane"}' https://x.com
POST JSON and set JSON headers automatically
curl -F 'name=Jane' https://x.com
Send a multipart form field
curl -F 'file=@photo.png' https://x.com
Upload a file as multipart form-data
curl -F 'file=@a.pdf;type=application/pdf' https://x.com
Upload a file with an explicit MIME type
curl -d '' https://x.com
POST with an empty body
Authentication
9curl -u user:pass https://x.com
HTTP basic authentication
curl -u user https://x.com
Basic auth, prompt for the password
curl -H 'Authorization: Bearer TOKEN' https://x.com
Send a bearer token header
curl --oauth2-bearer TOKEN https://x.com
Send an OAuth 2.0 bearer token
curl --digest -u user:pass https://x.com
Use HTTP digest authentication
curl --ntlm -u user:pass https://x.com
Use NTLM authentication
curl --netrc https://x.com
Read credentials from ~/.netrc
curl --netrc-file creds https://x.com
Read credentials from a custom netrc file
curl -H 'X-Api-Key: KEY' https://x.com
Send an API key header
Downloading & uploading
11curl -O https://x.com/file.zip
Download using the remote file name
curl -o out.zip https://x.com/file.zip
Download to a chosen file name
curl -OL https://x.com/file.zip
Download and follow redirects
curl -C - -O https://x.com/file.zip
Resume a partial download
curl --limit-rate 200k -O https://x.com/f
Cap the transfer speed
curl -r 0-1023 -o part https://x.com/f
Download a byte range only
curl --retry 3 -O https://x.com/f
Retry the download on failure
curl -T file.txt ftp://x.com/
Upload a file with PUT/FTP
curl -T file.txt https://x.com/up
Upload a file via HTTP PUT
curl --create-dirs -o a/b/f.txt https://x.com
Create missing directories for the output
curl -# -O https://x.com/file.zip
Show a simple progress bar
Cookies
8curl -b 'session=abc123' https://x.com
Send a cookie inline
curl -b cookies.txt https://x.com
Send cookies from a file
curl -c cookies.txt https://x.com
Write received cookies to a jar
curl -b jar.txt -c jar.txt https://x.com
Read and update the same cookie jar
curl -b 'a=1; b=2' https://x.com
Send multiple cookies at once
curl -c - https://x.com
Print received cookies to stdout
curl --junk-session-cookies -b jar.txt https://x.com
Ignore session cookies from the jar
curl -L -c jar.txt -b jar.txt https://x.com/login
Keep a session across redirects
TLS / SSL
10curl -k https://x.com
Allow insecure (skip cert verification)
curl --cacert ca.pem https://x.com
Verify with a custom CA bundle
curl --capath /etc/ssl/certs https://x.com
Use a directory of CA certificates
curl --cert client.pem https://x.com
Send a client certificate
curl --cert client.pem --key client.key https://x.com
Use a client cert and private key
curl --tlsv1.2 https://x.com
Require at least TLS 1.2
curl --tlsv1.3 https://x.com
Require at least TLS 1.3
curl --tls-max 1.2 https://x.com
Cap the maximum TLS version
curl --ciphers ECDHE-RSA-AES128-GCM-SHA256 https://x.com
Restrict allowed TLS ciphers
curl -vI https://x.com
Inspect the TLS handshake details
Proxies
9curl -x http://proxy:8080 https://x.com
Route the request through an HTTP proxy
curl --proxy http://proxy:8080 https://x.com
Long form of -x to set a proxy
curl -x proxy:8080 -U user:pass https://x.com
Authenticate to the proxy
curl --proxy-user user:pass -x proxy:8080 https://x.com
Long form of proxy credentials
curl --socks5 127.0.0.1:1080 https://x.com
Use a SOCKS5 proxy
curl --socks5-hostname 127.0.0.1:1080 https://x.com
SOCKS5 proxy with remote DNS resolution
curl --socks4 127.0.0.1:1080 https://x.com
Use a SOCKS4 proxy
curl --noproxy example.com https://x.com
Bypass the proxy for given hosts
curl -x '' https://x.com
Disable any configured proxy
Debugging & output
11curl -w '%{http_code}\n' -o /dev/null -s https://x.com
Print only the HTTP status code
curl -w '%{time_total}\n' -o /dev/null -s https://x.com
Print the total transfer time
curl -w '@format.txt' https://x.com
Read the write-out format from a file
curl -D headers.txt https://x.com
Dump response headers to a file
curl -D - -o body.txt https://x.com
Headers to stdout, body to a file
curl --trace trace.txt https://x.com
Full hex trace of the transfer
curl --trace-ascii - https://x.com
ASCII trace to stdout
curl --trace-time -v https://x.com
Add timestamps to verbose output
curl -v https://x.com 2>&1 | less
Page through the verbose log
curl -sS -o /dev/null -w '%{size_download}\n' https://x.com
Print the downloaded byte count
curl --libcurl out.c https://x.com
Emit equivalent libcurl C source
Timeouts & retries
10curl --connect-timeout 5 https://x.com
Limit the connection phase in seconds
curl --max-time 30 https://x.com
Cap the whole operation time
curl --retry 3 https://x.com
Retry on transient errors
curl --retry 3 --retry-delay 2 https://x.com
Wait between retry attempts
curl --retry 5 --retry-max-time 60 https://x.com
Bound the total time spent retrying
curl --retry-connrefused https://x.com
Also retry on connection refused
curl --retry-all-errors https://x.com
Retry on any error, not just transient
curl --speed-limit 100 --speed-time 10 https://x.com
Abort if too slow for a duration
curl --keepalive-time 60 https://x.com
Set the TCP keep-alive interval
curl --expect100-timeout 1 https://x.com
Limit the wait for a 100-continue
“:q”와 일치하는 항목이 없습니다.
cURL 치트시트 소개
이 curl 치트시트는 가장 유용한 HTTP 명령줄 도구에 대한 실전 참고 자료입니다: 기본, HTTP 메서드, 헤더, 데이터 전송, 인증, 다운로드와 업로드, 쿠키, TLS/SSL, 프록시, 디버깅과 출력, 타임아웃과 재시도까지 다룹니다.
curl에는 수백 개의 플래그가 있지만 누구나 그중 열 개 정도만 기억합니다. 각 행은 JSON POST, 헤더 재정의, 재개 가능한 다운로드, 상세한 TLS 핸드셰이크 같은 완성된 명령어 하나를 한 줄 설명과 함께 보여주므로, 디버깅 도중 매뉴얼 페이지를 읽는 대신 정확한 주문을 그대로 가져다 쓸 수 있습니다.
이 시트는 무료이며 클라이언트 사이드로 동작합니다: 검색창으로 명령어를 실시간 필터링하고, 고정된 목차로 섹션 간을 이동하고, 클릭 한 번으로 명령어를 복사하고, API 디버깅 세션을 위해 페이지를 인쇄하세요.
cURL 치트시트 사용 방법
- 기본과 HTTP 메서드부터 디버깅 및 출력, 타임아웃 및 재시도까지 섹션을 훑어보세요.
- POST, header, proxy 같은 플래그나 작업을 검색해 명령어를 즉시 필터링하세요.
- 고정된 사이드바를 통해 인증이나 TLS/SSL 같은 섹션으로 이동하세요.
- 명령어나 복사 아이콘을 클릭해 복사한 다음 예시 URL과 값을 바꾸세요.
- 터미널 옆에 curl 참고 자료를 둘 수 있도록 시트를 인쇄하세요.
자주 묻는 질문
열한 개 섹션입니다: 기본, HTTP 메서드, 헤더, 데이터와 폼 전송, 인증, 다운로드와 업로드, 쿠키, TLS/SSL, 프록시, 디버깅과 출력, 재시도를 포함한 타임아웃입니다.
네. 데이터 전송 섹션에는 올바른 헤더와 함께 JSON과 폼 데이터를 전송하는 완성된 명령어가 포함되어 있으며, 가장 많이 복사되는 curl 명령어에 속합니다.
네. 디버깅 및 출력 섹션은 상세 모드, 응답 검사, 출력 제어를 다루며, 실패가 인증서 관련일 때는 TLS 섹션이 도움이 됩니다.
네. 명령어나 복사 아이콘을 클릭하면 완전한 curl 호출이 클립보드에 저장됩니다 — URL, 헤더, 데이터만 자신의 것으로 바꾸면 됩니다.
네, 무료이며 검색과 인쇄가 가능하고 전적으로 브라우저에서 동작합니다.
인기 검색어
curl cheat sheet
curl commands
curl post json
curl with headers
curl basic auth
curl download file
curl ignore ssl certificate
curl verbose debug
도움이 필요하신가요?
이 도구에서 문제를 발견하셨나요? 저희 팀에 알려주세요.