요청 구성 ⤢ -X, --requestHTTP 메서드를 설정한다. curl -X POST https://api.test ⤢ -H, --header요청 헤더를 추가한다. curl -H "Accept: application/json" URL ⤢ -d, --data본문을 보낸다(POST와 기본 콘텐츠 타입을 설정한다). curl -d "name=Ada" URL ⤢ -G, --get-d 값을 쿼리 파라미터로 GET에 붙인다. curl -G -d "q=hi" URL ⤢ -F, --form멀티파트 폼 데이터를 보낸다(파일 업로드). curl -F "file=@photo.png" URL ⤢ --data-urlencodeURL 인코딩을 적용한 폼 데이터를 보낸다. curl --data-urlencode "name=Ada Lovelace" URL ⤢ -T, --upload-filePUT으로 파일을 업로드한다. curl -T big.zip URL ⤢ -a, --append업로드를 원격 파일을 대체하는 대신 이어 붙인다. curl -a -T log.txt ftp://server.test/logs/log.txt JSON과 API ⤢ -H + -d올바른 콘텐츠 타입으로 JSON을 보낸다. curl -H "Content-Type: application/json" -d '{"a":1}' URL ⤢ -d @file파일의 내용을 본문으로 보낸다. curl -d @body.json URL ⤢ --json헤더를 직접 설정하지 않고 JSON을 보낸다(curl 7.82 이상). curl --json '{"a":1}' URL 인증 ⤢ -u, --user사용자와 비밀번호를 이용한 HTTP Basic 인증. curl -u ada:s3cr3t URL ⤢ --oauth2-bearerOAuth 베어러 토큰을 보낸다. curl --oauth2-bearer TOKEN URL ⤢ -H Authorization어떤 토큰 스킴이든 직접 보낸다. curl -H "Authorization: Bearer TOKEN" URL ⤢ -E, --cert + --key상호 TLS를 위해 클라이언트 인증서와 키를 제시한다. curl --cert client.pem --key key.pem URL ⤢ --cacert하나의 CA 번들 파일로 서버를 검증한다. curl --cacert ca.pem URL ⤢ --capathCA 디렉터리로 서버를 검증한다. curl --capath /etc/ssl/certs URL ⤢ -x, --proxy프록시를 통해 요청을 보낸다. curl -x http://proxy.test:8080 URL ⤢ --proxy-insecure프록시 구간에만 TLS 검증을 건너뛴다. curl -x https://proxy.test:8443 --proxy-insecure URL ⤢ --tlsv1.3최소 버전으로 TLS 1.3을 요구한다. curl --tlsv1.3 URL 신원 ⤢ -A, --user-agent커스텀 User-Agent 문자열을 보낸다. curl -A "Mozilla/5.0" URL ⤢ -e, --refererReferer 헤더를 보낸다. curl -e https://example.com/page URL ⤢ -b, --cookie요청과 함께 쿠키를 보낸다. curl -b "session=abc123" URL ⤢ -c, --cookie-jar응답 쿠키를 파일에 저장한다. curl -c cookies.txt URL 출력 ⤢ -o, --output본문을 파일로 쓴다. curl -o page.html URL ⤢ -O원격 파일 이름으로 본문을 저장한다. curl -O https://site/file.tgz ⤢ -i, --include본문 위에 응답 헤더를 출력한다. curl -i URL ⤢ -I, --head헤더만 가져온다(HEAD를 보낸다). curl -I URL ⤢ -s, --silent진행률 표시기와 오류를 숨긴다. curl -s URL ⤢ -w, --write-out본문 뒤에 형식 문자열을 출력한다(타이밍, 상태). curl -w "%{http_code}\n" -o /dev/null URL ⤢ -f, --failHTTP 오류 시 0이 아닌 코드로 종료하고 오류 본문은 건너뛴다. curl -f URL ⤢ --fail-with-bodyHTTP 오류 시 0이 아닌 코드로 종료하되 본문은 출력한다. curl --fail-with-body URL ⤢ -J, --remote-header-nameContent-Disposition 헤더에서 저장 파일 이름을 정한다. curl -OJ URL ⤢ -C, --continue-at중단된 전송을 멈춘 지점부터 이어 받는다. curl -C - -O URL ⤢ -#, --progress-bar기본 진행 표시기 대신 진행률 바를 보여준다. curl -# -O URL ⤢ -S, --show-error조용한 모드에서도 오류를 출력한다. curl -sS URL ⤢ -D, --dump-header응답 헤더를 파일로 쓴다. curl -D headers.txt URL ⤢ --compressed압축된 응답을 요청하고 해독한다. curl --compressed URL ⤢ --create-dirs-o 경로에 없는 디렉터리를 만든다. curl -o cache/api/data.json --create-dirs URL 리다이렉트와 연결 ⤢ -L, --location3xx 리다이렉트를 따라간다. curl -L URL ⤢ --connect-timeoutTCP 연결을 기다리는 최대 초. curl --connect-timeout 5 URL ⤢ --max-time요청 전체의 최대 초. curl --max-time 30 URL ⤢ -k, --insecureTLS 인증서 검증을 건너뛴다. curl -k https://self-signed.test ⤢ --retry일시적 오류를 최대 N번 재시도한다. curl --retry 3 URL ⤢ --retry-all-errors일시적 오류뿐 아니라 모든 오류에서 재시도한다. curl --retry 3 --retry-all-errors URL ⤢ -4 / -6연결을 IPv4 또는 IPv6로 강제한다. curl -4 URL ⤢ --resolve호스트와 포트를 주소에 매핑해 DNS를 우회한다. curl --resolve api.test:443:127.0.0.1 https://api.test ⤢ --interface전송을 네트워크 인터페이스나 주소에 바인딩한다. curl --interface eth0 URL ⤢ -Z, --parallel여러 URL을 동시에 전송한다. curl -Z URL1 URL2 ⤢ --http2 / --http3전송에 HTTP/2 또는 HTTP/3을 사용한다. curl --http3 URL ⤢ -N, --no-buffer버퍼링 대신 본문이 도착하는 대로 스트리밍한다. curl -N URL ⤢ -K, --config추가 플래그를 설정 파일에서 읽는다. curl -K flags.cfg URL 디버깅 ⤢ -v, --verbose요청-응답 주고받기 전체를 출력한다. curl -v URL ⤢ --trace주고받은 모든 바이트를 헥스 덤프한다. curl --trace - URL