cURL 명령 생성기
메서드·헤더·바디를 입력해 실행 가능한 cURL 명령을 생성합니다.
HTTP 메서드, URL, 헤더, 요청 바디만 입력하면 바로 실행 가능한 curl 명령을 만들어 주는 도구입니다. 따옴표 이스케이프나 -X·-H·--data 옵션 순서를 일일이 외우지 않아도 되며, 입력하는 즉시 명령이 갱신되어 그대로 복사해 터미널에 붙여 넣을 수 있습니다.
API 디버깅, REST 엔드포인트 테스트, 문서나 이슈에 재현용 명령을 첨부할 때 유용합니다. 모든 처리는 브라우저 안에서만 이뤄지며 입력한 URL·토큰·바디는 서버로 전송되지 않으므로, 인증 헤더가 포함된 요청도 안심하고 구성할 수 있습니다.
생성되는 명령의 구조
이 도구는 입력값을 다음 순서로 조립합니다. 가독성을 위해 각 옵션을 백슬래시(\)로 줄바꿈해 표시하지만, 한 줄로 붙여 넣어도 동일하게 동작합니다.
- 메서드:
GET이 아닌 경우-X POST처럼 명시합니다. - URL: 작은따옴표로 감싸 셸의 특수문자 해석을 막습니다.
- 헤더: 키와 값을 합쳐
-H 'Content-Type: application/json'형태로 추가합니다. - 바디:
GET·HEAD가 아니고 내용이 있으면--data로 붙입니다.
따옴표와 이스케이프 처리
셸에서 작은따옴표 안의 문자열은 변수 치환이나 이스케이프 없이 그대로 전달되므로 가장 안전합니다. 다만 값 안에 작은따옴표가 들어 있으면 문자열이 끊기기 때문에, 이 도구는 내부 작은따옴표를 '\'' 패턴으로 변환해 따옴표 자체를 안전하게 포함시킵니다. JSON 바디처럼 큰따옴표가 많은 값도 별도 처리 없이 그대로 넣으면 됩니다.
활용 팁
- 인증이 필요한 API는
Authorization헤더 행을 추가해Bearer <토큰>형식으로 넣으세요. - JSON을 보낼 때는
Content-Type: application/json헤더를 함께 추가해야 서버가 올바르게 파싱합니다. - 응답 헤더만 확인하려면 메서드를
HEAD로 바꾸면 바디 입력란이 자동으로 사라집니다.
반대로 동료가 보내준 긴 명령을 분석할 때는 cURL 명령 파서로 메서드·URL·헤더·바디를 표로 분해해 볼 수 있습니다.
자주 쓰는 curl 옵션 빠른 참조
이 도구는 기본적으로 -X·-H·--data만 생성하지만, 실제 디버깅에서는 아래 옵션을 손으로 덧붙이는 경우가 많습니다. 생성된 명령 끝에 추가해 쓰세요.
| 옵션 | 의미 | 언제 쓰나 |
|---|---|---|
-i | 응답 헤더 + 바디 함께 출력 | 상태코드·캐시 헤더를 한눈에 확인할 때 |
-v | 요청/응답 헤더와 TLS 핸드셰이크까지 상세 출력 | 리다이렉트·인증 실패 원인 추적 |
-L | 301/302 리다이렉트 자동 추적 | 최종 도착 URL의 응답이 필요할 때 |
-s | 진행률 표시줄 숨김(silent) | 스크립트·파이프로 출력 가공할 때 |
-o file | 응답 바디를 파일로 저장 | 바이너리·대용량 응답 다운로드 |
-w '%{http_code}' | 상태코드·응답시간 등 지표만 출력 | 헬스체크·성능 측정 자동화 |
실제 예시로 보기
메서드 POST, URL https://api.example.com/v1/login, 헤더 Content-Type: application/json, 바디 {"id":"alice","pw":"p'wd"}를 입력하면 다음 명령이 생성됩니다.
curl -X POST 'https://api.example.com/v1/login' \
-H 'Content-Type: application/json' \
--data '{"id":"alice","pw":"p'\''wd"}'비밀번호 안의 작은따옴표(p'wd)가 p'\''wd로 변환된 점에 주목하세요. 앞 문자열을 닫고('), 이스케이프된 따옴표를 넣고(\'), 다시 문자열을 여는(') 세 토막 구조라서, 셸이 한 단어로 이어 붙여 결국 따옴표 하나가 값에 포함됩니다.
흔한 실수 / 함정
- JSON 바디를 보내면서
Content-Type: application/json헤더를 빠뜨리면, curl이 기본값인application/x-www-form-urlencoded로 보내 서버가400을 반환하는 일이 흔합니다. --data(=-d)는 바디에 든 줄바꿈을 제거합니다. 줄바꿈을 그대로 보내려면--data-binary를 직접 써야 합니다.- URL에
&가 들어간 쿼리스트링을 따옴표 없이 붙이면 셸이 명령을 백그라운드로 실행해 버립니다 — 그래서 이 도구는 URL을 항상 작은따옴표로 감쌉니다.
자주 묻는 질문
입력한 토큰이나 URL이 외부로 전송되나요?
값 안에 작은따옴표가 있으면 어떻게 되나요?
줄바꿈된 명령을 한 줄로 붙여도 되나요?
Windows의 cmd나 PowerShell에서도 그대로 쓸 수 있나요?
GET 요청에도 바디를 넣을 수 있나요?
관련 가이드
- CORS 에러 해결: Access-Control-Allow-Origin 완전 정리브라우저 CORS 에러가 나는 이유와 프리플라이트·자격증명·와일드카드 함정까지 상황별 해결법.