cURL을 코드로

curl 명령을 붙여 넣고 보내는 요청을 확인한 뒤 일곱 언어의 코드로 복사하세요.

해석과 코드 생성은 이 브라우저 탭에서 이루어집니다. 업로드, 저장, 전송이 없으며 우리에게도 보내지 않습니다.

위에 curl 명령을 붙여 넣으면 요청 요약과 코드가 보입니다.

사용 방법

  1. DevTools(모두 cURL로 복사), API 문서, 채팅에서 curl 명령을 붙여 넣으세요. 입력하는 대로 코드가 나타납니다.
  2. 요약 줄을 먼저 읽으세요. 메서드, URL, 헤더 수, 본문 크기입니다. 요약이 맞으면 아래 코드도 맞습니다.
  3. 대상 언어를 고르세요. 명령은 그대로 두고 코드와 다운로드 파일 이름만 바뀝니다.
  4. 경고는 코드가 반영하지 못한 것(프록시, 리디렉션, 셸 변수)을 알려 줍니다. 오류는 절반짜리 요청을 보여 주지 않고 생성을 멈춥니다.
  5. 초기화는 입력을 지우고 Python으로 돌아갑니다. 페이지 새로고침도 같습니다.

예시

명령

curl -X POST 'https://httpbin.org/anything?from=en' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer demo-token' \
  -d '{"name": "Ada", "city": "London"}'

Python

import requests

url = "https://httpbin.org/anything?from=en"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer demo-token",
}
data = "{\"name\": \"Ada\", \"city\": \"London\"}".encode("utf-8")
response = requests.request("POST", url, headers=headers, data=data)
print(response.status_code)
print(response.text)

위 요약과 코드는 그 명령에서 생성된 것이며 이 도구는 httpbin을 호출하지 않습니다. 지원 범위는 메서드, URL, 헤더, 본문, Basic/Bearer 인증, 타임아웃입니다.

규칙, 제한 및 알려진 문제

  • 파일 업로드는 없습니다. -F, -T, @file 입력은 거부하므로 파일을 조용히 빠뜨린 코드가 나오지 않습니다.
  • 셸 실행은 없습니다. 변수, 명령 치환, 파이프, 여러 명령을 펼치지 않으며 $TOKEN은 경고와 함께 그대로 남습니다.
  • 명령당 URL 하나입니다. 추가 URL은 루프로 바꾸지 않고 경고와 함께 무시합니다.
  • 전송 옵션은 재현하지 않습니다. -L, -k, 프록시, 클라이언트 인증서, HTTP 버전, 재시도, 압축은 경고만 냅니다. 생성된 코드는 클라이언트 기본값을 씁니다.
  • curl의 암묵적 기본값은 넣지 않습니다. User-Agent: curl/…와 Accept: */*를 추가하지 않으며 -A / -H로 직접 지정하세요.
  • POSIX 인용만 지원합니다. 작은따옴표, 큰따옴표, $'...', 백슬래시 줄 이음입니다. Windows CMD 이스케이프는 해석하지 않습니다.
  • 중복 헤더는 Go, PHP, Java, C#, Ruby에서 살아남고 Python과 JavaScript 사전은 ", "로 합칩니다.
  • 본문이 있는 GET/HEAD 요청은 경고와 함께 작성한 그대로 생성됩니다. fetch는 이를 거부합니다.
  • 기록이나 지속성은 없습니다. 새로고침하면 모두 지워지고 공유 버튼은 페이지 링크만 공유하며 명령은 절대 공유하지 않습니다.
  • 이 도구는 변환만 하고 요청을 보내지 않습니다. 응답도 보고 싶으면 API 클라이언트를 쓰세요.

명령을 변환한 뒤에 편리합니다.