cRLcURL → 코드 변환
cURL 명령어를 코드로 변환
cURL 명령어 완벽 가이드
cURL 변환기는 터미널 cURL 명령어를 Python, JavaScript, Go 코드로 즉시 변환하는 무료 온라인 도구입니다. 브라우저 DevTools에서 네트워크 요청을 cURL로 복사한 뒤 코드에 바로 붙여넣을 수 있어 API 연동 작업의 생산성을 크게 높여줍니다.
cURL 옵션 총정리
cURL은 수백 가지 옵션을 제공하지만, API 작업에서 자주 사용하는 핵심 옵션만 알면 충분합니다.
요청 메서드와 URL
# GET 요청 (기본값)
curl https://api.example.com/users
# POST 요청 (-X로 메서드 지정)
curl -X POST https://api.example.com/users
# 줄바꿈이 긴 명령어는 백슬래시로 이어서 작성
curl -X POST \
https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name": "홍길동"}'헤더 (-H) 옵션
# 인증 헤더
curl -H 'Authorization: Bearer YOUR_TOKEN' https://api.example.com/me
# 여러 헤더 동시 설정
curl -H 'Content-Type: application/json' \
-H 'X-API-Key: secret123' \
https://api.example.com/data데이터 전송 (-d, --data-raw, -F)
# JSON 바디 전송
curl -X POST https://api.example.com/posts \
-H 'Content-Type: application/json' \
-d '{"title": "제목", "body": "내용"}'
# URL 인코딩 폼 데이터
curl -X POST https://api.example.com/login \
--data-urlencode 'username=user' \
--data-urlencode 'password=p@ss!'
# 파일 업로드 (multipart)
curl -X POST https://api.example.com/upload \
-F 'file=@/path/to/file.pdf'언어별 변환 코드 비교
Python (requests)
import requests
headers = {
"Authorization": "Bearer TOKEN",
"Content-Type": "application/json"
}
data = '{"name": "test"}'
response = requests.post(
'https://api.example.com/users',
headers=headers,
data=data
)
print(response.status_code)
print(response.json())JavaScript (fetch)
const response = await fetch('https://api.example.com/users', {
method: 'POST',
headers: {
"Authorization": "Bearer TOKEN",
"Content-Type": "application/json"
},
body: '{"name": "test"}'
});
const data = await response.json();
console.log(data);자주 하는 실수와 해결법
- 따옴표 오류 — Windows CMD는 작은따옴표를 지원하지 않습니다. 큰따옴표로 교체하거나 PowerShell을 사용하세요.
- 멀티라인 붙여넣기 — 백슬래시 줄바꿈이 포함된 명령어는 한 줄로 합쳐서 붙여넣어야 정확히 파싱됩니다.
- 특수문자 이스케이프 — JSON 바디에 큰따옴표가 있으면 쉘에서 이스케이프(\") 처리가 필요합니다.
- SSL 인증서 오류 — 테스트 환경에서
-k옵션으로 검증을 건너뛸 수 있습니다(프로덕션에서는 금지).
자주 묻는 질문 (FAQ)
- 브라우저에서 cURL 복사 방법은? — DevTools → Network 탭 → 요청 우클릭 → Copy as cURL (bash)
- -d와 --data-raw 차이는? — --data-raw는 @ 특수 처리 없이 데이터를 그대로 전송합니다. 브라우저 복사 명령어는 --data-raw를 주로 사용합니다.
- PHP 변환도 지원하나요? — 현재 Python, JavaScript, Go 세 가지를 지원합니다.
- 인코딩된 URL은 자동 처리되나요? — %xx 형태의 URL 인코딩은 수동으로 디코딩이 필요할 수 있습니다.
팁: API 문서에 나와 있는 cURL 예시를 이 도구에 붙여넣으면 바로 사용 가능한 Python/JS/Go 코드로 변환됩니다.