cURL 생성기
HTTP 요청 설정 → cURL 명령어 자동 생성
📖 cURL 생성기가 조용히 깨지는 순간 — 셸 이스케이핑의 비대칭 가이드 보기
cURL 명령 생성기란?
HTTP 요청 파라미터(URL, 메서드, 헤더, 본문)를 입력하면 cURL 명령어를 자동으로 생성합니다. 다만 두 가지 주의할 점이 있습니다. 첫째, 요청 본문(-d)의 작은따옴표는 셸에 안전하게 이스케이프하지만, 헤더 값·Bearer 토큰·URL의 작은따옴표는 이스케이프하지 않습니다 — 헤더 값에 아포스트로피(')가 들어 있으면 생성된 명령어의 따옴표가 중간에 끊어져 터미널에서 실행 시 오류가 나거나 의도와 다르게 실행될 수 있습니다. 둘째, 본문은 메서드가 POST·PUT·PATCH일 때만 포함되므로, DELETE를 선택한 채 본문에 JSON을 입력해도(예: 대량 삭제용 ID 목록) 생성된 명령어에는 그 본문이 아예 나타나지 않습니다.
자주 묻는 질문
헤더 값에 아포스트로피(')가 있으면 어떻게 되나요?
생성기가 헤더 값을 작은따옴표로 감쌀 때 값 안의 아포스트로피를 이스케이프하지 않습니다. 예를 들어 헤더 값이 "It's broken"이면 결과는 -H 'X-Note: It's broken'처럼 따옴표가 중간에 닫혀버려, 터미널에 붙여넣었을 때 셸이 명령어를 잘못 해석하거나 오류를 냅니다. 본문(-d)에는 이런 이스케이프 처리가 되어 있지만 헤더·Bearer 토큰·URL 필드에는 적용되지 않습니다.
본문(-d)의 작은따옴표는 안전하게 처리되나요?
네. 본문 텍스트의 작은따옴표는 '\'' 형태(따옴표 닫기 → 이스케이프된 따옴표 → 따옴표 다시 열기)로 자동 변환되어 셸에서 안전하게 동작합니다. 이 처리는 본문 필드에만 적용되고 헤더나 URL에는 적용되지 않는다는 점이 다릅니다.
DELETE 요청에 본문을 입력했는데 생성된 명령어에 안 보여요.
코드가 본문(-d) 옵션을 POST, PUT, PATCH 메서드일 때만 추가하도록 되어 있어, DELETE를 선택한 상태에서는 본문 입력란에 내용을 채워도 생성된 명령어에서 완전히 빠집니다. 대량 삭제 API처럼 DELETE에 JSON 본문(예: 삭제할 ID 목록)을 사용하는 경우 이 도구로는 표현할 수 없으니 명령어에 -d 옵션을 수동으로 추가해야 합니다.
GET 요청에도 본문을 포함할 수 있나요?
이 도구에서는 포함되지 않습니다. GET에 본문을 허용하는 API(예: 일부 검색 API)를 테스트해야 한다면, 생성된 명령어에 -d 옵션을 수동으로 추가해야 합니다.
cURL 명령어란 무엇인가요?
cURL은 다양한 프로토콜로 데이터를 전송하는 커맨드라인 도구입니다. API 테스트와 HTTP 요청 자동화에 널리 사용됩니다.
Bearer Token은 어떻게 추가되나요?
Bearer Token 입력란에 토큰을 입력하면 Authorization: Bearer {token} 헤더가 자동 추가됩니다. JWT는 보통 아포스트로피를 포함하지 않으므로 이스케이프 문제가 실제로 드러나는 경우는 드뭅니다.
-k (insecure) 옵션은 무엇인가요?
SSL/TLS 인증서 검증을 비활성화합니다. 자체 서명된 인증서를 사용하는 개발 환경에서만 제한적으로 사용하고, 운영 환경에는 사용하지 않는 것이 안전합니다.
-L 옵션은 무엇인가요?
리다이렉트(301, 302 등) 응답을 받았을 때 자동으로 그 위치를 따라갑니다.