이 도구는 무엇을 하나요
curl 코드 변환기는 curl 명령을 바로 실행할 수 있는 일곱 가지 코드로 바꿉니다: JavaScript fetch, Node.js axios, Python requests, Go net/http, PHP cURL, Java HttpClient, C# HttpClient. API 문서, Postman, 브라우저 개발자 도구는 요청을 curl 명령으로 보여 주는 경우가 많은데, 이 도구를 쓰면 메서드, URL, 헤더, 본문, 인증을 손으로 다시 쓸 필요가 없습니다.
파서는 curl 명령줄 전용으로 작성되었습니다. bash와 같은 방식으로 따옴표를 처리하고, -sSL처럼 묶인 짧은 옵션과 -XPOST처럼 값이 붙은 옵션을 이해하며, 헤더 순서를 그대로 유지합니다.
사용 방법
- curl 명령을 입력란에 붙여 넣거나 예시를 눌러 시험해 봅니다.
- 원하는 언어를 고릅니다.
- 결과를 복사하거나 소스 파일로 다운로드합니다.
-d로 보내는 본문은 폼 인코딩 본문이 되고, --json(또는 JSON Content-Type)은 JSON 본문이 되며 언어가 허용하면 보기 좋게 정리됩니다. -F 필드는 파일 업로드를 포함한 multipart 폼이 됩니다. -u user:password는 각 언어의 기본 인증 방식으로 바뀌고, -k, -L, -m, -x는 각각 TLS 검증, 리디렉션, 타임아웃, 프록시에 대응합니다.
예시
다음 명령은 Bearer 토큰과 함께 JSON을 전송합니다:
curl https://api.example.com/v1/users \
-H 'Authorization: Bearer TOKEN' \
--json '{"name":"Ada"}'
Python에서는 headers 딕셔너리와 json=json_data를 넘기는 requests.post() 호출이 되고, Go에서는 헤더를 하나씩 설정하고 본문을 문자열 Reader로 넘기는 http.NewRequest가 됩니다.
팁
- 변환 중 오류가 나면 메시지가 문제를 설명하고, 커서가 알 수 없는 옵션이나 닫히지 않은 따옴표 같은 문제 위치로 이동합니다.
- 명령 뒤의 파이프와 리디렉션(
| jq .,> out.json)은 무시됩니다. @file로 참조한 파일은 코드 실행 시 읽히므로, 프로그램이 실행되는 위치를 기준으로 경로가 맞는지 확인하세요.- 링크를 공유하기 전에 민감한 정보를 확인하세요: 공유 버튼은 명령을 링크의 # 부분에 담습니다.
자주 묻는 질문
› curl 명령이 서버로 전송되나요?
아니요. 명령은 전적으로 브라우저 안에서 파싱되고 변환되므로, 그 안의 토큰, 쿠키, 비밀번호가 기기를 벗어나지 않습니다.
› 어떤 curl 옵션을 지원하나요?
요청 내용을 결정하는 옵션을 지원합니다: -X, -H, -d, --data-raw, --data-binary, --data-urlencode, --json, -F, -u, -b, -A, -e, -G, -I, -L, -k, -m, -x, --compressed, --url. -s, -v, -o, -w처럼 curl 자체의 출력에만 영향을 주는 옵션은 받아들이되 무시합니다.
› 브라우저 개발자 도구에서 복사한 명령을 붙여 넣을 수 있나요?
네. 네트워크 패널에서 'cURL로 복사(bash)'를 사용하세요. \, ^(Windows cmd), `(PowerShell) 줄 이어 쓰기와 작은따옴표, 큰따옴표, $'…' 따옴표를 모두 인식합니다.
› 코드로 재현할 수 없는 옵션은 어떻게 되나요?
생성된 코드 맨 위에 Note 주석이 붙습니다. 예를 들어 fetch로 -k를 표현할 수 없거나, curl은 파일을 읽지만 코드는 그 파일을 열지 않는 경우입니다. 알 수 없는 옵션은 정확한 위치를 가리키는 오류로 알려 줍니다.