curl 명령어 생성기
HTTP 메서드・URL・헤더・본문・인증 방식을 입력하면 그대로 복사해서 실행할 수 있는 curl 명령어를 생성합니다. 실제로 요청을 전송하지 않으므로 CORS 제약을 받지 않습니다.
자주 사용하는 curl 옵션 목록
| 옵션 | 설명 |
|---|---|
| -X, --request <method> | HTTP 메서드(GET・POST・PUT・PATCH・DELETE 등)를 지정합니다. 생략하면 본문이 없으면 GET, 본문이 있으면 POST가 됩니다. |
| -H, --header <header> | 요청 헤더를 하나 추가합니다. 여러 개를 지정하려면 -H를 반복합니다. |
| -d, --data <data> | 요청 본문을 전송합니다. -X를 지정하지 않으면 자동으로 POST・Content-Type: application/x-www-form-urlencoded로 전송됩니다. |
| -u, --user <user:password> | Basic 인증의 사용자 이름과 비밀번호를 "user:password" 형식으로 지정합니다. |
| -k, --insecure | SSL 인증서 검증을 건너뜁니다. 자체 서명 인증서를 사용하는 개발 환경용이며, 프로덕션 환경에서는 권장하지 않습니다. |
| -L, --location | 서버가 3xx 리다이렉트를 반환하면 Location 헤더가 가리키는 곳으로 자동으로 이동합니다. |
| -v, --verbose | 요청・응답 헤더를 포함한 상세한 통신 내용을 표준 에러로 출력합니다. 디버깅에 유용합니다. |
| --compressed | Accept-Encoding 헤더를 추가하여 gzip 등으로 압축된 응답을 요청하고 자동으로 압축을 해제합니다. |
| -o, --output <file> | 응답 본문을 표준 출력이 아닌 지정한 파일에 저장합니다. |
| -F, --form <name=content> | multipart/form-data 형식으로 폼 데이터나 파일을 전송합니다. 파일 업로드 시 "@파일경로"를 지정합니다. |
팁
- 생성된 명령어는 터미널・셸 스크립트・CI/CD 설정 파일에 그대로 붙여넣어 실행할 수 있습니다. 모든 값은 작은따옴표로 이스케이프 처리되어 있습니다.
- 메서드가 GET인 상태로 본문을 입력하면 경고가 표시됩니다. curl은
-X를 생략한 채-d를 사용하면 자동으로 POST로 전송하기 때문에, 의도치 않은 동작을 방지하기 위한 안내입니다. - "Content-Type: application/json 자동 추가"에 체크하면 JSON API 호출 시 자주 빠뜨리는 Content-Type 헤더를 자동으로 추가합니다.
- Basic 인증과 Bearer 토큰 모두 입력한 값은 브라우저 내에서만 처리되며 서버로는 전혀 전송되지 않습니다.
- 생성된
-k(인증서 검증 건너뛰기)는 자체 서명 인증서를 사용하는 로컬 개발 환경에 한정된 임시방편입니다. 프로덕션 API에 지속적으로 사용하는 것은 피하세요.
자주 묻는 질문
-X 옵션을 생략한 상태에서 -d(본문)를 지정하면 자동으로 POST로 전송합니다. GET을 유지한 채 본문을 보내야 하는 특수한 경우에는 생성된 명령어에 -X GET을 직접 추가해 주세요.
여담 ― curl은 왜 "모두가 쓰지만 아무도 모르는" 도구일까
curl은 1996년 스웨덴 엔지니어 다니엘 스텐베리(Daniel Stenberg)가 개발한, URL을 이용해 데이터를 전송하는 명령줄 도구입니다. 원래는 IRC 채팅봇을 위해 환율 정보를 가져오는 작은 스크립트에서 출발했으며, 이후 HTTP・FTP・SMTP 등 25가지 이상의 프로토콜을 지원하는 거대한 프로젝트로 성장했습니다.
curl은 전 세계에서 가장 널리 쓰이는 소프트웨어 중 하나로 꼽힙니다. 스마트폰・자동차・가전제품・게임기・우주 탐사선(NASA의 화성 탐사 임무에서도 사용된 사례가 있음)에 이르기까지 인터넷에 연결되는 거의 모든 기기 내부에 내장되어 있으며, 그 수는 수백억 대 규모에 이를 것으로 추정됩니다. 이렇게 널리 보급되어 있음에도 개발자가 아니면 이름조차 거의 알려지지 않은, 이른바 "보이지 않는 곳에서 세상을 떠받치는" 대표적인 사례입니다.
스텐베리는 2019년 웹 기반 기술에 기여한 공로를 인정받아 리눅스 재단으로부터 표창을 받았습니다. 그는 지금도 curl 개발을 이끄는 핵심 메인테이너로서, 20년 넘게 하위 호환성을 신중하게 지켜온 것으로 알려져 있습니다.
GUI 도구인 Postman이 널리 보급된 지금도 curl 명령어는 README・공식 문서・API 동작 확인 절차에서 여전히 사용되고 있습니다. 이유는 단순합니다. curl은 별도 설치 없이 거의 모든 Linux・macOS 환경에 기본 탑재되어 있어, 명령어 하나로 즉석에서 실행하고 결과를 공유할 수 있는 높은 재현성 덕분입니다.