cURL 변환기: curl을 Fetch, Python, Axios 등으로
브라우저 개발자 도구에서 복사한 curl 명령어 등을 붙여넣으면 8개 언어의 바로 실행 가능한 코드를 얻을 수 있습니다. 헤더, JSON 본문, 폼, 파일 업로드, 인증, 쿠키까지 모두 변환합니다.
브라우저에서 실행가입 불필요업로드 없음
cURL 변환기 사용 방법
- 요청을 cURL로 복사합니다. Chrome이나 Firefox 개발자 도구의 Network 탭에서 요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택하세요.
- 입력란에 붙여넣습니다.
\로 이어지는 여러 줄 명령어, Windows의^줄 연결,$'…'문자열도 지원합니다. - 대상을 선택합니다: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP, HTTPie.
- 출력 아래의 경고를 확인합니다. 대상 언어에 대응하는 기능이 없는 옵션이 표시됩니다.
- 코드를 복사하거나 파일로 다운로드합니다.
curl 명령어를 코드로 변환하는 이유
curl은 HTTP의 공용어입니다. API 문서는 curl 예제를 보여 주고, 브라우저 개발자 도구는 요청을 curl로 내보내며, 지원팀은 재현 방법을 curl로 보냅니다. 그 요청을 애플리케이션 안에서 쓰려면 직접 다시 작성해야 합니다. 모든 -H를 헤더 객체로 옮기고, -d를 본문으로 바꾸고, -u를 Basic 인증으로 변환하며, -G가 데이터를 쿼리 문자열로 옮긴다는 점도 기억해야 하죠. 이 변환기가 그 작업을 대신해 프로젝트에 바로 붙여넣을 수 있는 코드를 만들어 줍니다.
지원하는 curl 옵션
| 옵션 | 변환 결과 |
|---|---|
-X, -I, -G | HTTP 메서드(본문이 있으면 POST로 추론) |
-H, -A, -e, -b | 헤더, User-Agent, Referer, 쿠키 |
-d, --data-raw, --data-binary, --data-urlencode, --json | 요청 본문: JSON 객체, 폼 필드 또는 원시 텍스트 |
-F | 멀티파트 폼 데이터(@file 업로드 포함) |
-u, --oauth2-bearer | Basic 인증 또는 Bearer 토큰 |
-k, -L, -m, -x, --compressed | TLS 검증, 리디렉션, 타임아웃, 프록시, 압축 |
JSON 본문은 실제 객체로
요청이 JSON을 보내는 경우(Content-Type: application/json 헤더, --json, 또는 JSON으로 파싱되는 본문) 변환기는 이스케이프된 문자열 대신 네이티브 자료 구조를 출력합니다. fetch에는 JSON.stringify({...}), Axios에는 일반 객체, requests와 httpx에는 Python dict(True, False, None)를 담은 json=을 사용합니다. 덕분에 페이로드를 수정하거나 변수로 채우기 쉽습니다.
알아 둘 차이점
브라우저는 인증서 검사를 끄거나 개별 요청을 프록시로 보낼 수 없으므로, 브라우저용 fetch 코드에서 -k와 -x는 주석으로만 표시됩니다. curl은 -L을 주지 않으면 리디렉션을 따라가지 않지만, fetch, requests, Go는 기본적으로 따라갑니다. Content-Type 없이 -d로 보낸 본문을 curl은 폼 인코딩으로 보내는데, 본문이 JSON처럼 보이면 변환기는 JSON으로 보내고 경고로 알려 줍니다.
자주 묻는 질문
curl 명령어가 서버로 전송되나요?
Chrome에서 요청을 cURL로 복사하려면 어떻게 하나요?
파일 업로드도 처리하나요?
-F name=@file은 JavaScript에서 FormData, Python에서 files= dict, Go에서 mime/multipart, PHP에서 CURLFile로 변환됩니다. -d @file과 -T file은 파일에서 요청 본문을 읽습니다.변환기가 모르는 옵션은 어떻게 되나요?
-s, -v, -o 같은 출력 전용 플래그는 요청을 바꾸지 않으므로 무시됩니다.