</>DevTools

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 코드로 변환됩니다.

🔗관련 도구🌐 네트워크/API