왜 만들었나요
API 문서나 동료가 준 예시는 늘 curl 명령인데, 정작 코드에 넣으려면 헤더와 바디를 하나씩 옮겨 적어야 했습니다. 옵션이 많아질수록 빠뜨리기 쉬워서, 붙여넣으면 바로 나오게 만들었습니다.
curl 명령을 붙여넣으면 같은 요청을 여러 언어 코드로 바꿔 줍니다.
로딩 중...
API 문서나 동료가 준 예시는 늘 curl 명령인데, 정작 코드에 넣으려면 헤더와 바디를 하나씩 옮겨 적어야 했습니다. 옵션이 많아질수록 빠뜨리기 쉬워서, 붙여넣으면 바로 나오게 만들었습니다.
Note
붙여넣은 명령은 서버로 전송되지 않습니다. 변환이 전부 브라우저 안에서 이뤄져, 인증 토큰이 든 실제 명령을 넣어도 기기 밖으로 나가지 않습니다.
왼쪽 입력창에 curl 명령을 붙여넣습니다. 샘플 버튼으로 시작해도 됩니다.

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

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

문서에 적힌 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로 봅니다-d 값이 JSON 모양이면 JSON 요청으로, 아니면 폼 데이터로 변환합니다.
-u 아이디:비밀번호 형태를 인식해 각 언어에 맞는 인증 코드로 바꿔 줍니다.
됩니다. 줄 끝에 \ 가 붙어 이어지는 형태를 그대로 인식합니다. 문서에서 복사한 그대로 넣으면 됩니다.
초안으로 쓰고 손보는 것을 권합니다.
넣어도 안전합니다. 변환이 전부 브라우저 안에서 이뤄져 어디로도 전송되지 않습니다. 다만 나온 코드를 그대로 저장소에 올리면 토큰이 함께 올라가니 주의하세요.
가장 흔한 방법은 브라우저 개발자 도구입니다.
이렇게 복사한 명령은 줄 끝을 백슬래시로 이어 붙인 여러 줄 형태인 경우가 많은데, 그대로 붙여넣어도 한 덩어리로 읽어 냅니다.
개발자 도구에서 복사한 curl 명령에는 로그인 쿠키나 인증 토큰이 그대로 들어 있습니다.
이 도구는 붙여넣은 내용을 서버로 보내지 않으므로 여기서는 안전하지만, 그 명령을 메신저나 이슈 트래커에 그대로 붙여넣지 마세요. 다른 사람이 내 계정으로 요청을 보낼 수 있습니다. 공유해야 한다면 인증 부분을 지우고 전달하세요.
명령 한 줄로 웹 요청을 보내는 프로그램입니다. API 문서에서 예시를 적을 때 언어에 상관없이 쓸 수 있어 사실상 공통 표기처럼 쓰입니다.
요청에 함께 붙이는 부가 정보입니다. 데이터 형식(Content-Type)이나 인증 토큰(Authorization) 등이 들어갑니다.
요청에 실어 보내는 실제 데이터입니다. curl에서는 -d 옵션으로 지정하며, 주로 JSON 형태를 씁니다.
아닙니다. cURL 변환기는 붙여넣은 curl 명령을 브라우저 안에서 문자열로 파싱해 코드로 만들 뿐, 실제로 그 요청을 보내거나 curl 내용을 서버로 전송하지 않습니다. 토큰이나 인증 정보가 담긴 명령도 안심하고 붙여넣을 수 있습니다.
JavaScript(fetch), JavaScript(axios), Python(requests), Node.js(내장 fetch), Go(net/http) 다섯 가지를 지원합니다. 오른쪽 결과 패널 위의 언어 선택 목록에서 하나를 고르면 같은 요청이 그 언어의 관용적인 코드로 다시 그려지고, 바로 옆 복사 버튼으로 가져갈 수 있습니다.
네. 브라우저 개발자 도구의 "Copy as cURL"처럼 줄 끝을 백슬래시(\)로 이어 붙인 여러 줄 명령도 한 덩어리로 읽어 냅니다. 복사한 그대로 붙여넣으면 헤더와 바디를 순서대로 파싱합니다.
메서드를 명시하지 않았더라도 -d 등으로 요청 바디를 넘겼으면 POST로, 아무 데이터가 없으면 GET으로 자동 판단합니다. -X나 --request로 메서드를 직접 지정하면 그 값을 그대로 사용합니다.
마지막 업데이트: