cURL 변환기: curl을 Fetch, Python, Axios 등으로

브라우저 개발자 도구에서 복사한 curl 명령어 등을 붙여넣으면 8개 언어의 바로 실행 가능한 코드를 얻을 수 있습니다. 헤더, JSON 본문, 폼, 파일 업로드, 인증, 쿠키까지 모두 변환합니다.

브라우저에서 실행가입 불필요업로드 없음

변환 대상
JavaScript fetch

    

    cURL 변환기 사용 방법

    1. 요청을 cURL로 복사합니다. Chrome이나 Firefox 개발자 도구의 Network 탭에서 요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택하세요.
    2. 입력란에 붙여넣습니다. \로 이어지는 여러 줄 명령어, Windows의 ^ 줄 연결, $'…' 문자열도 지원합니다.
    3. 대상을 선택합니다: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP, HTTPie.
    4. 출력 아래의 경고를 확인합니다. 대상 언어에 대응하는 기능이 없는 옵션이 표시됩니다.
    5. 코드를 복사하거나 파일로 다운로드합니다.

    curl 명령어를 코드로 변환하는 이유

    curl은 HTTP의 공용어입니다. API 문서는 curl 예제를 보여 주고, 브라우저 개발자 도구는 요청을 curl로 내보내며, 지원팀은 재현 방법을 curl로 보냅니다. 그 요청을 애플리케이션 안에서 쓰려면 직접 다시 작성해야 합니다. 모든 -H를 헤더 객체로 옮기고, -d를 본문으로 바꾸고, -u를 Basic 인증으로 변환하며, -G가 데이터를 쿼리 문자열로 옮긴다는 점도 기억해야 하죠. 이 변환기가 그 작업을 대신해 프로젝트에 바로 붙여넣을 수 있는 코드를 만들어 줍니다.

    지원하는 curl 옵션

    옵션변환 결과
    -X, -I, -GHTTP 메서드(본문이 있으면 POST로 추론)
    -H, -A, -e, -b헤더, User-Agent, Referer, 쿠키
    -d, --data-raw, --data-binary, --data-urlencode, --json요청 본문: JSON 객체, 폼 필드 또는 원시 텍스트
    -F멀티파트 폼 데이터(@file 업로드 포함)
    -u, --oauth2-bearerBasic 인증 또는 Bearer 토큰
    -k, -L, -m, -x, --compressedTLS 검증, 리디렉션, 타임아웃, 프록시, 압축

    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로 복사하려면 어떻게 하나요?
    개발자 도구(F12)를 열고 Network 탭에서 요청을 마우스 오른쪽 버튼으로 클릭한 다음 Copy → Copy as cURL (bash)을 선택하세요. Windows용 cmd 버전도 여기서 사용할 수 있습니다.
    파일 업로드도 처리하나요?
    네. -F name=@file은 JavaScript에서 FormData, Python에서 files= dict, Go에서 mime/multipart, PHP에서 CURLFile로 변환됩니다. -d @file과 -T file은 파일에서 요청 본문을 읽습니다.
    변환기가 모르는 옵션은 어떻게 되나요?
    출력 아래에 경고로 표시되므로 아무것도 조용히 누락되지 않습니다. -s, -v, -o 같은 출력 전용 플래그는 요청을 바꾸지 않으므로 무시됩니다.
    Python에서는 requests와 httpx 중 무엇을 써야 하나요?
    requests는 동기 스크립트의 오랜 표준입니다. httpx는 API가 거의 같으면서 HTTP/2와 async를 지원하고, 요청하지 않으면 리디렉션을 따라가지 않아 curl의 동작에 더 가깝습니다.

    관련 도구