본문 바로가기

cURL 변환기

curl 명령을 붙여넣으면 같은 요청을 여러 언어 코드로 바꿔 줍니다.

로딩 중...

왜 만들었나요

API 문서나 동료가 준 예시는 늘 curl 명령인데, 정작 코드에 넣으려면 헤더와 바디를 하나씩 옮겨 적어야 했습니다. 옵션이 많아질수록 빠뜨리기 쉬워서, 붙여넣으면 바로 나오게 만들었습니다.

Note

붙여넣은 명령은 서버로 전송되지 않습니다. 변환이 전부 브라우저 안에서 이뤄져, 인증 토큰이 든 실제 명령을 넣어도 기기 밖으로 나가지 않습니다.


사용 방법

  1. 왼쪽 입력창에 curl 명령을 붙여넣습니다. 샘플 버튼으로 시작해도 됩니다.

    cURL 변환기-guide-1

  2. 붙여넣는 즉시 오른쪽에 코드가 나옵니다. 기본은 JavaScript(fetch)입니다.

    cURL 변환기-guide-2

  3. 결과 패널 위에서 언어를 바꾸면 같은 요청이 그 언어 코드로 다시 그려집니다.

    cURL 변환기-guide-3

이렇게 나옵니다

문서에 적힌 curl 예시를 넣으면 이렇게 나옵니다.

넣은 것
curl -X POST https://api.example.com/orders \
  -H "Content-Type: application/json" \
  -d '{"item":"apple","qty":2}'

나온 것 (Python)
requests.post(
    "https://api.example.com/orders",
    headers={"Content-Type": "application/json"},
    json={"item": "apple", "qty": 2},
)

알아두면 좋은 것

메서드와 바디를 이렇게 판단합니다

  • -X POST 처럼 메서드를 직접 적었으면 그대로 씁니다
  • 적지 않았는데 -d(데이터)가 있으면 POST로 봅니다
  • 아무것도 없으면 GET입니다

-d 값이 JSON 모양이면 JSON 요청으로, 아니면 폼 데이터로 변환합니다.

Basic 인증도 됩니다

-u 아이디:비밀번호 형태를 인식해 각 언어에 맞는 인증 코드로 바꿔 줍니다.

이런 경우에는

여러 줄 명령을 붙여넣어도 되나요

됩니다. 줄 끝에 \ 가 붙어 이어지는 형태를 그대로 인식합니다. 문서에서 복사한 그대로 넣으면 됩니다.

나온 코드가 바로 안 돌아가요

초안으로 쓰고 손보는 것을 권합니다.

  • 오류 처리와 응답 파싱은 프로젝트마다 다릅니다
  • 인증 토큰은 코드에 그대로 두지 말고 환경변수로 옮기세요
  • 파일 업로드나 특수한 옵션은 반영되지 않을 수 있습니다

실제 토큰이 든 명령을 넣어도 되나요

넣어도 안전합니다. 변환이 전부 브라우저 안에서 이뤄져 어디로도 전송되지 않습니다. 다만 나온 코드를 그대로 저장소에 올리면 토큰이 함께 올라가니 주의하세요.

curl 명령은 어디서 가져오나요

가장 흔한 방법은 브라우저 개발자 도구입니다.

  1. 개발자 도구를 열고 네트워크 탭으로 이동
  2. 확인할 요청을 마우스 오른쪽 클릭
  3. Copy → Copy as cURL 선택
  4. 여기에 붙여넣기

이렇게 복사한 명령은 줄 끝을 백슬래시로 이어 붙인 여러 줄 형태인 경우가 많은데, 그대로 붙여넣어도 한 덩어리로 읽어 냅니다.

인증 정보가 그대로 담겨 있어요

개발자 도구에서 복사한 curl 명령에는 로그인 쿠키나 인증 토큰이 그대로 들어 있습니다.

이 도구는 붙여넣은 내용을 서버로 보내지 않으므로 여기서는 안전하지만, 그 명령을 메신저나 이슈 트래커에 그대로 붙여넣지 마세요. 다른 사람이 내 계정으로 요청을 보낼 수 있습니다. 공유해야 한다면 인증 부분을 지우고 전달하세요.

이 도구로는 안 되는 것

  • 요청을 실제로 보내지 않습니다. 코드로 바꿔 줄 뿐입니다
  • 반대로 코드를 curl로 바꾸는 기능은 없습니다
  • 만들어진 코드가 실제로 동작하는지 확인해 주지 않습니다 — 초안으로 쓰고 손보세요
  • 주소를 조각내 보려면 URL 파서를 쓰세요

용어 설명

cURL

명령 한 줄로 웹 요청을 보내는 프로그램입니다. API 문서에서 예시를 적을 때 언어에 상관없이 쓸 수 있어 사실상 공통 표기처럼 쓰입니다.

헤더

요청에 함께 붙이는 부가 정보입니다. 데이터 형식(Content-Type)이나 인증 토큰(Authorization) 등이 들어갑니다.

바디

요청에 실어 보내는 실제 데이터입니다. curl에서는 -d 옵션으로 지정하며, 주로 JSON 형태를 씁니다.

자주 묻는 질문

curl 명령을 붙여넣으면 정말 서버로 전송되나요?

아닙니다. cURL 변환기는 붙여넣은 curl 명령을 브라우저 안에서 문자열로 파싱해 코드로 만들 뿐, 실제로 그 요청을 보내거나 curl 내용을 서버로 전송하지 않습니다. 토큰이나 인증 정보가 담긴 명령도 안심하고 붙여넣을 수 있습니다.

어떤 언어로 변환할 수 있나요?

JavaScript(fetch), JavaScript(axios), Python(requests), Node.js(내장 fetch), Go(net/http) 다섯 가지를 지원합니다. 오른쪽 결과 패널 위의 언어 선택 목록에서 하나를 고르면 같은 요청이 그 언어의 관용적인 코드로 다시 그려지고, 바로 옆 복사 버튼으로 가져갈 수 있습니다.

여러 줄로 나뉜 curl 명령도 인식하나요?

네. 브라우저 개발자 도구의 "Copy as cURL"처럼 줄 끝을 백슬래시(\)로 이어 붙인 여러 줄 명령도 한 덩어리로 읽어 냅니다. 복사한 그대로 붙여넣으면 헤더와 바디를 순서대로 파싱합니다.

-X를 안 써도 메서드가 맞게 나오나요?

메서드를 명시하지 않았더라도 -d 등으로 요청 바디를 넘겼으면 POST로, 아무 데이터가 없으면 GET으로 자동 판단합니다. -X나 --request로 메서드를 직접 지정하면 그 값을 그대로 사용합니다.

마지막 업데이트: