cURL 명령어 사용법 총정리 — API 테스트부터 자동화까지
터미널을 열고 서버에 직접 말을 거는 가장 빠른 방법이 있습니다. 브라우저를 켜지 않아도, Postman 같은 GUI 도구를 설치하지 않아도, 명령어 한 줄이면 됩니다. 바로 cURL입니다. 1996년에 처음 세상에 나온 이 도구는 30년이 지난 2026년 지금도 개발자, 시스템 관리자, DevOps 엔지니어가 매일 손에서 놓지 못하는 필수 유틸리티입니다.
“API가 제대로 응답하는지 확인해볼까?” → cURL. “서버에서 파일 하나 받아와야 하는데?” → cURL. “Slack에 자동 알림을 보내고 싶은데?” → 역시 cURL. 이 도구 하나만 제대로 익혀두면 HTTP 통신과 관련된 거의 모든 작업을 터미널에서 해결할 수 있습니다.
이 글에서는 cURL이 처음인 분부터, 기본은 아는데 제대로 활용하지 못하고 계신 분까지 모두를 위해 설치 확인부터 고급 자동화까지 단계별로 정리합니다. 예제 코드는 모두 복사해서 바로 실행할 수 있도록 구성했으니, 터미널을 하나 열어두고 따라와 보세요.
cURL이란 무엇이고 왜 알아야 할까
cURL은 Client URL의 줄임말로, 명령줄에서 다양한 프로토콜(HTTP, HTTPS, FTP, SFTP 등)을 통해 데이터를 전송하는 도구입니다. 스웨덴 개발자 다니엘 스텐버그(Daniel Stenberg)가 1996년에 만들었고, 현재는 사실상 모든 운영체제에 기본 탑재되어 있습니다.
cURL을 알아야 하는 이유는 명확합니다.
- 어디서든 쓸 수 있습니다. Windows 10 이후, macOS, 모든 리눅스 배포판에 기본 설치되어 있어 별도 설치 없이 바로 사용 가능합니다.
- API 테스트의 사실상 표준입니다. 대부분의 API 문서가 사용 예제를 cURL 명령어로 제공합니다. Stripe, GitHub, OpenAI, Slack 등 어떤 API 문서를 열어도 cURL 예제가 가장 먼저 나옵니다.
- 자동화의 기본 빌딩 블록입니다. 셸 스크립트, 크론 잡, CI/CD 파이프라인에서 HTTP 요청이 필요할 때 cURL만큼 가볍고 범용적인 도구가 없습니다.
- 문제 진단의 핵심 도구입니다. 서버 응답 시간, SSL 인증서 상태, 리다이렉트 경로 등을 즉시 확인할 수 있어 트러블슈팅에 빠질 수 없습니다.
GUI 도구가 편리한 건 사실이지만, SSH로 서버에 접속한 상태에서 API를 테스트해야 할 때, Docker 컨테이너 내부에서 외부 연결을 확인해야 할 때, CI/CD 스크립트에서 헬스체크를 돌려야 할 때 — 그때마다 cURL은 유일무이한 선택지가 됩니다.

설치 확인과 기본 구조 이해하기
이미 설치되어 있을 가능성이 높습니다
먼저 터미널을 열고 다음 명령어를 입력해보세요.
curl --version
Windows 11이라면 PowerShell이나 명령 프롬프트 모두에서, macOS라면 터미널 앱에서, 리눅스라면 어떤 배포판이든 이 명령이 동작할 것입니다. 버전 정보와 함께 지원하는 프로토콜 목록이 출력되면 준비 완료입니다.
만약 설치되지 않은 환경이라면(극히 드물지만), 운영체제별로 아래 방법을 사용합니다.
- Windows: Windows 10 빌드 17063 이후 기본 탑재. 혹시 없다면
winget install cURL.cURL - macOS: 기본 탑재. Homebrew로 최신 버전을 원하면
brew install curl - Ubuntu/Debian:
sudo apt install curl
cURL 명령어의 기본 구조
cURL의 기본 구조는 아주 단순합니다.
curl [옵션들] [URL]
가장 간단한 사용 예시를 보겠습니다.
curl https://httpbin.org/get
이 명령은 httpbin.org라는 테스트용 서버에 GET 요청을 보내고, 서버가 돌려주는 응답을 터미널에 그대로 출력합니다. httpbin.org는 HTTP 요청을 테스트할 때 매우 유용한 무료 서비스로, 보낸 요청의 내용을 그대로 JSON으로 돌려줍니다.
여기서 핵심 개념 하나를 짚고 갑시다. cURL은 기본적으로 서버의 응답 본문(body)을 표준 출력(stdout)에 그대로 출력합니다. 별도의 옵션을 주지 않으면 GET 요청을 보내고, 응답을 화면에 뿌리는 것이 기본 동작입니다.
HTTP 메서드별 요청 완전 정복
웹 API와 대화하려면 HTTP 메서드를 자유자재로 다룰 줄 알아야 합니다. cURL에서 각 메서드를 사용하는 방법을 하나씩 살펴보겠습니다.

GET 요청 — 데이터 조회의 기본
GET은 서버에서 데이터를 가져올 때 사용합니다. cURL의 기본 메서드이므로 별도 옵션 없이 URL만 입력하면 됩니다.
curl https://jsonplaceholder.typicode.com/posts/1
쿼리 파라미터를 붙이고 싶다면 URL 뒤에 물음표와 함께 추가합니다.
curl "https://jsonplaceholder.typicode.com/posts?userId=1&_limit=3"
팁 하나 — URL에 & 기호가 포함되면 셸이 이를 백그라운드 실행으로 해석할 수 있으므로, URL 전체를 따옴표로 감싸는 것이 안전합니다.
POST 요청 — 데이터 생성의 핵심
POST 요청은 서버에 새로운 데이터를 보낼 때 사용합니다. -X POST로 메서드를 지정하고, -d 옵션으로 데이터를 담습니다.
JSON 데이터를 보내는 가장 일반적인 패턴입니다.
curl -X POST https://jsonplaceholder.typicode.com/posts -H "Content-Type: application/json" -d '{"title": "cURL 테스트", "body": "이것은 테스트입니다", "userId": 1}'
여기서 -H는 HTTP 헤더를 추가하는 옵션입니다. JSON 데이터를 보낼 때는 반드시 Content-Type: application/json 헤더를 함께 보내야 서버가 데이터를 올바르게 해석합니다.
폼 데이터 형식으로 보내고 싶다면 -d만 사용하면 됩니다. 이 경우 Content-Type은 자동으로 application/x-www-form-urlencoded로 설정됩니다.
curl -X POST https://httpbin.org/post -d "username=jiho&password=test123"
PUT과 PATCH — 데이터 수정
PUT은 리소스 전체를 교체하고, PATCH는 일부만 수정합니다. 사용법은 POST와 거의 동일하고 메서드명만 바꿔주면 됩니다.
curl -X PUT https://jsonplaceholder.typicode.com/posts/1 -H "Content-Type: application/json" -d '{"id": 1, "title": "수정된 제목", "body": "수정된 내용", "userId": 1}'
curl -X PATCH https://jsonplaceholder.typicode.com/posts/1 -H "Content-Type: application/json" -d '{"title": "제목만 수정"}'
DELETE — 데이터 삭제
DELETE 요청은 보통 본문 데이터 없이 URL만으로 보냅니다.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/1
커스텀 헤더 여러 개 추가하기
실무에서는 헤더를 여러 개 동시에 보내는 경우가 많습니다. -H 옵션을 반복해서 사용하면 됩니다.
curl -X POST https://api.example.com/data -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Request-ID: abc-123" -d '{"key": "value"}'
이렇게 HTTP 메서드 네 가지만 자유롭게 다룰 수 있으면, 세상 대부분의 REST API와 대화할 수 있는 기본기가 완성됩니다.
응답 다루기 — 상태 코드 확인과 출력 포맷팅
응답 상태 코드만 확인하기
API를 테스트할 때 응답 본문보다 HTTP 상태 코드가 더 중요할 때가 있습니다. 서버가 200을 주는지, 404를 주는지, 500을 주는지 빠르게 확인하고 싶다면 -o /dev/null으로 본문을 버리고 -w로 원하는 정보만 출력합니다.
curl -o /dev/null -s -w "%{http_code}" https://httpbin.org/status/200
이 명령의 의미를 분해하면 다음과 같습니다.
-o /dev/null— 응답 본문을 버립니다(Windows에서는-o NUL)-s— 진행률 표시를 숨깁니다(silent 모드)-w "%{http_code}"— 상태 코드만 출력합니다
출력은 200 한 줄. 깔끔합니다.
응답 헤더 확인하기
서버가 보내는 응답 헤더를 확인하려면 -I(대문자 아이) 옵션을 사용합니다. 이 옵션은 HEAD 요청을 보내서 헤더만 받아옵니다.
curl -I https://www.google.com
응답 본문과 헤더를 동시에 보고 싶다면 -i(소문자 아이)를 사용합니다.
curl -i https://httpbin.org/get
이 차이를 기억해두면 디버깅할 때 아주 유용합니다. 대문자 -I는 헤더만, 소문자 -i는 헤더 + 본문입니다.
jq와 조합해서 JSON 예쁘게 보기
cURL로 API를 호출하면 JSON 응답이 한 줄로 쭉 이어져 나오는 경우가 많습니다. 이때 jq라는 도구와 파이프로 연결하면 들여쓰기된 깔끔한 JSON을 볼 수 있습니다.
curl -s https://jsonplaceholder.typicode.com/posts/1 | jq .
특정 필드만 뽑아내는 것도 가능합니다.
curl -s https://jsonplaceholder.typicode.com/posts/1 | jq '.title'
jq가 설치되어 있지 않다면 winget install jqlang.jq(Windows), brew install jq(macOS), sudo apt install jq(Ubuntu)로 설치할 수 있습니다. cURL과 jq 조합은 터미널에서 API를 다루는 최고의 콤비입니다.
파일 다운로드와 업로드
파일 다운로드 — 기본부터 이어받기까지
cURL은 파일 다운로드에도 아주 강력합니다. -o 옵션으로 저장할 파일명을 직접 지정하거나, -O(대문자)로 URL의 파일명 그대로 저장할 수 있습니다.
curl -o myfile.zip https://example.com/archive.zip
curl -O https://example.com/archive.zip
대용량 파일을 받다가 중간에 끊겼다면? -C - 옵션으로 이어받기가 가능합니다.
curl -C - -O https://example.com/large-file.iso
-C -의 하이픈은 “자동으로 이어받을 위치를 계산하라”는 의미입니다. 네트워크가 불안정한 환경에서 큰 파일을 받을 때 필수 옵션입니다.
진행률 막대를 보고 싶다면 -# 옵션을 추가합니다.
curl -# -O https://example.com/archive.zip
반대로 진행률을 완전히 숨기고 싶다면 -s(silent)를 사용합니다. 스크립트에서 cURL을 사용할 때는 주로 -s를 붙여 깔끔한 출력을 유지합니다.
파일 업로드 — multipart 폼 데이터
파일을 서버에 업로드할 때는 -F 옵션을 사용합니다. 이 옵션은 multipart/form-data 형식으로 데이터를 전송하며, 파일 경로 앞에 @를 붙입니다.
curl -X POST https://httpbin.org/post -F "file=@./document.pdf" -F "description=테스트 문서"
여러 파일을 동시에 올리는 것도 가능합니다.
curl -X POST https://httpbin.org/post -F "file1=@./photo1.jpg" -F "file2=@./photo2.jpg"
인증과 보안 — 실무에서 꼭 필요한 옵션들
Basic 인증
가장 단순한 인증 방식입니다. -u 옵션에 “사용자명:비밀번호” 형식으로 전달합니다.
curl -u admin:secretpass https://api.example.com/protected
비밀번호를 명령어에 직접 쓰기 꺼려진다면 사용자명만 입력하고 엔터를 치면 비밀번호를 별도로 입력할 수 있습니다.
curl -u admin https://api.example.com/protected
Bearer 토큰 인증
2026년 현재 대부분의 API가 사용하는 인증 방식입니다. -H 옵션으로 Authorization 헤더에 토큰을 담아 보냅니다.
curl -H "Authorization: Bearer eyJhbGciOi..." https://api.example.com/me
토큰이 길어서 명령어가 복잡해진다면 환경 변수에 저장해두고 사용하는 것이 실무에서 일반적인 패턴입니다.
Bash/Zsh/WSL 환경에서는 다음과 같이 합니다.
export API_TOKEN="eyJhbGciOi..."
curl -H "Authorization: Bearer $API_TOKEN" https://api.example.com/me
PowerShell 환경에서는 다음과 같습니다.
$env:API_TOKEN = "eyJhbGciOi..."
curl -H "Authorization: Bearer $env:API_TOKEN" https://api.example.com/me
SSL/TLS 관련 옵션
개발 환경에서 자체 서명 인증서를 사용하는 서버에 요청을 보내면 SSL 오류가 발생합니다. 이때 -k 또는 --insecure 옵션으로 인증서 검증을 건너뛸 수 있습니다.
curl -k https://localhost:8443/api/health
단, 이 옵션은 반드시 개발/테스트 환경에서만 사용하세요. 프로덕션에서 -k를 사용하면 중간자 공격(MITM)에 노출될 수 있습니다.
특정 CA 인증서를 지정하고 싶다면 --cacert 옵션을 사용합니다.
curl --cacert /path/to/ca-bundle.crt https://internal-api.company.com/data
쿠키 처리
세션 기반 인증을 사용하는 웹사이트를 테스트할 때는 쿠키를 저장하고 재사용해야 합니다.
-c 옵션으로 쿠키를 파일에 저장하고, -b 옵션으로 저장된 쿠키를 보냅니다.
curl -c cookies.txt -X POST https://example.com/login -d "user=admin&pass=1234"
curl -b cookies.txt https://example.com/dashboard
첫 번째 명령으로 로그인해서 쿠키를 받아 파일에 저장하고, 두 번째 명령에서 그 쿠키를 실어서 인증된 페이지에 접근하는 패턴입니다.
디버깅과 고급 옵션
요청/응답 상세 보기 — 문제 해결의 시작
API 호출이 실패할 때 가장 먼저 해봐야 할 것은 실제로 어떤 데이터가 오가는지 들여다보는 것입니다. -v(verbose) 옵션을 사용하면 요청 헤더, 응답 헤더, SSL 핸드셰이크 과정까지 모두 볼 수 있습니다.
curl -v https://httpbin.org/get
출력에서 >로 시작하는 줄은 cURL이 보낸 요청, <로 시작하는 줄은 서버가 보낸 응답입니다. *로 시작하는 줄은 cURL 내부의 처리 정보(DNS 조회, TCP 연결, TLS 핸드셰이크 등)를 나타냅니다.
더 상세한 네트워크 수준의 디버깅이 필요하다면 --trace 옵션으로 바이트 단위 덤프를 파일에 저장할 수 있습니다.
curl --trace trace.log https://httpbin.org/get
응답 시간 측정 — 성능 분석
-w(write-out) 옵션으로 DNS 조회 시간, 연결 시간, 전체 응답 시간 등을 측정할 수 있습니다. API 성능을 모니터링하거나 네트워크 지연을 진단할 때 매우 유용합니다.
curl -o /dev/null -s -w "DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTLS: %{time_appconnect}s\nTotal: %{time_total}s\n" https://www.google.com
이 명령은 다음과 같은 정보를 출력합니다.
- DNS — 도메인을 IP로 변환하는 데 걸린 시간
- Connect — TCP 연결 수립까지 걸린 시간
- TLS — TLS/SSL 핸드셰이크 완료까지 걸린 시간
- Total — 응답 수신 완료까지의 전체 시간
서버가 느리다는 불만이 들어왔을 때 이 명령 하나로 병목이 DNS인지, 네트워크인지, 서버 처리인지를 즉시 판별할 수 있습니다.
리다이렉트 따라가기
많은 URL이 다른 주소로 리다이렉트됩니다. cURL은 기본적으로 리다이렉트를 따라가지 않는데, -L 옵션을 주면 자동으로 최종 목적지까지 따라갑니다.
curl -L http://google.com
http://google.com은 https://www.google.com으로 리다이렉트되는데, -L 없이 요청하면 301 응답만 받고 끝납니다. -L을 붙이면 최종 페이지의 내용을 가져옵니다.
타임아웃 설정
응답이 오지 않는 서버에 영원히 기다리는 것을 방지하려면 타임아웃을 설정합니다.
--connect-timeout 5— TCP 연결 수립 시 최대 5초 대기--max-time 30— 전체 요청/응답 과정에 최대 30초 제한
curl --connect-timeout 5 --max-time 30 https://slow-api.example.com/data
자동화 스크립트에서는 타임아웃 설정이 필수입니다. 없으면 스크립트 전체가 무한 대기에 빠질 수 있습니다.
프록시를 통한 요청
사내 프록시를 거쳐야 하는 환경이라면 -x 옵션으로 프록시 서버를 지정합니다.
curl -x http://proxy.company.com:8080 https://api.external.com/data
SOCKS5 프록시도 지원합니다.
curl -x socks5://127.0.0.1:1080 https://api.example.com/data
사용자 에이전트 변경
일부 서버는 cURL의 기본 User-Agent를 차단합니다. -A 옵션으로 브라우저처럼 보이게 할 수 있습니다.
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0" https://example.com
실전 자동화 — 셸 스크립트에서 cURL 활용하기
cURL의 진짜 위력은 자동화에 있습니다. 단독으로 쓸 때도 유용하지만, 셸 스크립트와 결합하면 강력한 자동화 도구로 탈바꿈합니다.
서버 헬스체크 스크립트
서비스가 정상적으로 동작하는지 주기적으로 확인하는 가장 간단한 방법입니다.
#!/bin/bash
URL="https://myapp.example.com/healthz"
STATUS=$(curl -o /dev/null -s -w "%{http_code}" --max-time 10 "$URL")
if [ "$STATUS" -eq 200 ]; then
echo "[OK] 서비스 정상 ($STATUS)"
else
echo "[ALERT] 서비스 이상! HTTP $STATUS"
# 여기에 알림 로직 추가 (메일, Slack 등)
fi
이 스크립트를 크론 잡(Linux)이나 작업 스케줄러(Windows)에 등록하면 5분마다 서비스 상태를 자동으로 감시할 수 있습니다.
Slack 웹훅으로 자동 알림 보내기
Slack의 Incoming Webhook URL만 있으면 터미널에서 즉시 메시지를 보낼 수 있습니다.
curl -X POST https://hooks.slack.com/services/T00/B00/xxxx -H "Content-Type: application/json" -d '{"text": "서버 배포가 완료되었습니다."}'
이것을 배포 스크립트 마지막에 넣으면 배포 완료 알림을 자동화할 수 있습니다.
Discord 웹훅으로 알림 보내기
Discord도 비슷한 방식으로 동작합니다.
curl -X POST https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_TOKEN -H "Content-Type: application/json" -d '{"content": "빌드 #142가 성공적으로 완료되었습니다."}'
여러 URL에 순차 요청 보내기
여러 엔드포인트의 상태를 한 번에 확인하는 스크립트 예시입니다.
#!/bin/bash
URLS=(
"https://api.example.com/healthz"
"https://web.example.com"
"https://admin.example.com/ping"
)
for url in "${URLS[@]}"; do
STATUS=$(curl -o /dev/null -s -w "%{http_code}" --max-time 10 "$url")
echo "$url → HTTP $STATUS"
done
이처럼 cURL과 셸 스크립트를 결합하면 모니터링, 알림, 데이터 수집, 백업 트리거 등 다양한 자동화를 구현할 수 있습니다.
GitHub Actions나 CI/CD에서의 활용
CI/CD 파이프라인에서도 cURL은 빈번하게 등장합니다. 배포 후 헬스체크, 외부 API 호출, 아티팩트 다운로드 등에 사용됩니다. CI 환경에는 대부분 cURL이 기본 설치되어 있으므로 별도의 의존성 없이 바로 사용할 수 있다는 장점이 큽니다.

자주 쓰는 cURL 옵션 빠른 참조표
지금까지 배운 옵션들과 추가로 알아두면 좋은 옵션들을 한눈에 정리합니다.
요청 제어
-X METHOD— HTTP 메서드 지정 (GET, POST, PUT, DELETE 등)-H "Header: Value"— 커스텀 헤더 추가 (여러 번 사용 가능)-d "data"— 요청 본문 데이터 전송-F "field=@file"— multipart 폼 데이터 / 파일 업로드-A "User-Agent"— 사용자 에이전트 문자열 변경-e "Referer-URL"— Referer 헤더 설정
출력 제어
-o filename— 응답을 파일에 저장 (파일명 직접 지정)-O— URL의 파일명 그대로 저장-s— 진행률/에러 메시지 숨김 (silent)-S— silent 모드에서 에러만 표시-w "format"— 커스텀 출력 포맷 지정-i— 응답 헤더 + 본문 함께 출력-I— 응답 헤더만 출력 (HEAD 요청)
인증/보안
-u user:pass— Basic 인증-k / --insecure— SSL 인증서 검증 비활성화 (개발용만!)--cacert file— CA 인증서 파일 지정-b file— 파일에서 쿠키 읽어서 전송-c file— 서버 쿠키를 파일에 저장
네트워크/디버깅
-v— 상세 출력 (요청/응답 헤더, TLS 정보)--trace file— 바이트 수준 네트워크 덤프-L— 리다이렉트 자동 추적-x proxy:port— 프록시 서버 지정--connect-timeout N— 연결 타임아웃 (초)--max-time N— 전체 요청 타임아웃 (초)-C -— 중단된 다운로드 이어받기--retry N— 실패 시 재시도 횟수--retry-delay N— 재시도 간격 (초)-#— 진행률 막대 표시
실수하기 쉬운 포인트와 팁 모음
cURL을 쓰면서 자주 마주치는 실수와 해결법을 모았습니다.
Windows PowerShell에서 따옴표 문제
PowerShell은 작은따옴표와 큰따옴표 처리 방식이 Bash와 다릅니다. JSON 데이터를 보낼 때 다음과 같은 오류가 자주 발생합니다.
Bash에서는 문제없는 이 명령이 PowerShell에서는 실패할 수 있습니다.
curl -d '{"key":"value"}' https://httpbin.org/post
PowerShell에서는 작은따옴표 안에서도 중괄호가 특수 처리될 수 있으므로, JSON을 따옴표로 감싸기 까다로울 때는 파일에 저장하고 @ 접두사로 읽는 방식이 안전합니다.
curl -X POST https://httpbin.org/post -H "Content-Type: application/json" -d "@request.json"
-d @파일명 형식은 파일의 내용을 요청 본문으로 보냅니다. 따옴표 이스케이프 지옥에서 벗어나는 가장 깔끔한 방법입니다.
Windows의 curl.exe와 PowerShell의 curl
PowerShell에서 curl을 입력하면 실제 cURL이 아닌 Invoke-WebRequest cmdlet의 별칭(alias)이 실행될 수 있습니다. 이 문제를 피하려면 curl.exe로 명시적으로 호출하세요.
curl.exe -v https://httpbin.org/get
혹은 PowerShell 프로필에 Remove-Alias curl -Force -ErrorAction SilentlyContinue를 추가해서 별칭을 제거하는 방법도 있습니다.
POST 요청에서 Content-Type 빠뜨리기
JSON 데이터를 보내면서 Content-Type: application/json 헤더를 빠뜨리면 서버가 데이터를 올바르게 파싱하지 못합니다. 400 Bad Request나 415 Unsupported Media Type 오류가 나온다면 이 헤더부터 확인하세요.
셸에서 특수 문자 이스케이프
URL에 &, ?, =, # 같은 특수 문자가 들어가면 셸이 이를 다르게 해석할 수 있습니다. URL 전체를 큰따옴표로 감싸는 습관을 들이세요.
curl "https://api.example.com/search?q=hello+world&page=2"
마무리 — cURL, 단순하지만 강력한 동반자
cURL은 화려한 GUI도, 복잡한 설정도 필요 없습니다. 터미널과 URL만 있으면 세계 어디의 서버와도 대화할 수 있습니다. 30년 가까이 개발자들의 사랑을 받아온 이유가 있습니다.
이 글에서 다룬 내용만 익혀두면 실무에서 마주치는 HTTP 관련 작업의 대부분을 cURL 하나로 해결할 수 있습니다. API 문서의 예제를 바로 실행해볼 수 있고, 서버 문제를 현장에서 즉시 진단할 수 있으며, 반복 작업을 스크립트로 자동화할 수 있습니다.
처음에는 옵션이 많아 복잡해 보이지만, 실제로 매일 쓰는 옵션은 열 가지 내외입니다. -X, -H, -d, -o, -s, -v, -L, -u 정도만 손에 익으면 나머지는 필요할 때 검색해서 조합하면 됩니다.
터미널을 열고 curl https://httpbin.org/get을 한번 쳐보세요. 서버의 응답이 화면에 쏟아지는 그 순간, HTTP가 눈에 보이기 시작합니다. 그것이 cURL의 매력이고, 이 도구를 알아야 하는 가장 단순한 이유입니다.
이미지는 Leonardo AI 로 생성되었습니다.
이미지는 Claude AI 로 생성되었습니다.

