cURL Converter
cURL 명령어 변환기 - Python, JS, Go, PHP 코드로 변환
import requests
headers = {
"Content-Type": "application/json"
}
response = requests.post(
"https://api.example.com/data",
headers=headers,
data='{"key":"value"}'
)
print(response.text)cURL Converter 소개
cURL 변환기는 cURL 명령어를 Python(requests), JavaScript(fetch), Go(net/http), PHP(curl) 소스 코드로 변환하는 무료 온라인 도구입니다. 브라우저 개발자 도구, API 문서, 터미널에서 복사한 cURL 명령어를 원하는 프로그래밍 언어의 실행 가능한 코드로 즉시 변환할 수 있습니다.
HTTP 메서드(-X), 커스텀 헤더(-H), 요청 본문(-d/--data/--data-raw), 기본 인증(-u) 등 cURL의 주요 옵션을 파싱하여 각 언어의 관용적인 HTTP 클라이언트 패턴에 맞는 코드를 생성합니다. 헤더 설정, 요청 본문 처리, 인증 구성이 각 언어의 표준 방식으로 포함됩니다.
모든 파싱과 코드 생성은 브라우저 내에서 이루어집니다. API 키, 인증 토큰, 내부 엔드포인트 URL이 포함될 수 있는 cURL 명령어가 서버로 전송되지 않으므로 운영 환경의 API 호출이나 민감한 인증 정보가 포함된 명령어도 안전하게 변환할 수 있습니다.
주요 기능
- cURL을 Python requests 라이브러리 코드로 변환 (headers 딕셔너리, data 페이로드, auth 튜플 포함)
- cURL을 JavaScript fetch API 코드로 변환 (method, headers, body 옵션 구성)
- cURL을 Go net/http 코드로 변환 (NewRequest, Header.Set, io.ReadAll 패턴)
- cURL을 PHP curl 코드로 변환 (curl_init, curl_setopt, curl_exec 사용)
- 자동 HTTP 메서드 감지: 요청 본문(-d)이 있으면 자동으로 POST로 설정
- cURL 플래그 완전 파싱: -X(메서드), -H(헤더), -d/--data/--data-raw(본문), -u(기본 인증)
- PrismJS를 통한 언어별 구문 강조 코드 출력
- 생성된 코드를 클립보드에 바로 복사하는 원클릭 복사 버튼
자주 묻는 질문
cURL이란 무엇인가요?
cURL(Client URL)은 HTTP, HTTPS 등 다양한 네트워크 프로토콜을 통해 데이터를 전송하는 명령줄 도구입니다. macOS, Linux, Windows 10 이상에 기본 설치되어 있습니다. 개발자들이 API 테스트, 파일 다운로드, HTTP 요청 디버깅에 널리 사용합니다. 예시: curl -X POST "https://api.example.com/data" -H "Content-Type: application/json" -d '{"key":"value"}'.
Chrome 개발자 도구에서 cURL 명령어를 어떻게 복사하나요?
Chrome에서 개발자 도구(F12)를 열고 Network 탭에서 복제하려는 요청을 찾습니다. 해당 요청을 우클릭하여 "Copy" > "Copy as cURL"을 선택하면 모든 헤더, 쿠키, 요청 본문이 포함된 완전한 cURL 명령어가 복사됩니다. 이것을 이 도구에 붙여넣으면 원하는 프로그래밍 언어 코드로 변환됩니다. Firefox와 Edge에서도 동일한 기능을 제공합니다.
어떤 프로그래밍 언어를 지원하나요?
Python(가장 널리 사용되는 HTTP 클라이언트인 requests 라이브러리), JavaScript(브라우저와 Node.js 18+에서 사용 가능한 네이티브 fetch API), Go(표준 라이브러리 net/http 패키지), PHP(내장 curl 확장)의 네 가지 언어를 지원합니다. 각 변환은 해당 언어의 관용적인 패턴을 따릅니다.
인증은 어떻게 처리되나요?
cURL 명령어에 -u 또는 --user 플래그(예: -u username:password)가 포함되면 각 언어의 적절한 인증 메커니즘으로 변환됩니다. Python은 requests의 auth=(user, password) 튜플, JavaScript는 Base64 인코딩된 Authorization 헤더, Go는 요청 헤더 설정, PHP는 CURLOPT_USERPWD를 사용합니다. HTTP Basic 인증을 지원합니다.
JSON 본문이 포함된 POST 요청도 변환할 수 있나요?
네. cURL 명령어에 -d 옵션으로 JSON 문자열(예: -d '{"key":"value"}')과 Content-Type: application/json 헤더가 포함되면 생성된 코드에 헤더와 본문이 모두 보존됩니다. -d가 있고 명시적인 -X 플래그가 없으면 HTTP 메서드가 자동으로 POST로 설정됩니다.
여러 줄로 된 cURL 명령어도 처리할 수 있나요?
네. 파서는 문서나 터미널 출력에서 cURL 명령어가 여러 줄로 분할될 때 사용되는 백슬래시-줄바꿈(\) 연속 문자를 처리합니다. 파싱 전에 이 줄들을 결합하므로 문서에서 복사한 여러 줄 cURL 명령어를 수동 편집 없이 바로 붙여넣을 수 있습니다.
cURL을 직접 사용하지 않고 왜 코드로 변환하나요?
cURL은 빠른 테스트에 탁월하지만, 프로덕션 애플리케이션에서는 오류 처리, 재시도 로직, 응답 파싱, 나머지 코드베이스와의 통합이 필요한 HTTP 호출이 애플리케이션 코드에 포함되어야 합니다. cURL을 코드로 변환하면 테스트된 요청의 정확한 헤더, 인증, 페이로드가 포함된 실행 가능한 시작점을 얻고, 여기에 오류 처리와 비즈니스 로직을 추가할 수 있습니다.
커스텀 헤더는 변환에서 어떻게 처리되나요?
cURL 명령어의 각 -H 또는 --header 플래그가 키-값 쌍으로 파싱되어 대상 언어의 헤더 구문으로 변환됩니다. Python은 headers 딕셔너리, JavaScript는 fetch 옵션 객체 내 headers, Go는 각 헤더에 대해 req.Header.Set() 호출, PHP는 CURLOPT_HTTPHEADER에 배열로 전달합니다. 원본 cURL 명령어에 지정된 모든 헤더 값이 정확히 보존됩니다.