curl을 Python(으)로 변환
curl2code는 널리 사용되는 requests 라이브러리를 사용하여 모든 curl 명령을 깔끔한 Python 코드로 즉시 변환합니다. 변환은 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 기기를 절대 떠나지 않습니다. 프론트엔드에서 TypeScript를 사용하신다면 curl to TypeScript 변환기를 확인해 보세요. 서버 측 JavaScript의 경우 curl to Node.js를 참조하세요. 아래에서 가장 일반적인 HTTP 시나리오를 다루는 실용적인 예제를 확인할 수 있습니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
Python Requests란 무엇인가요?
Python Requests는 GitHub 스타 50,000개 이상을 보유한 Python에서 가장 인기 있는 HTTP 클라이언트 라이브러리입니다. HTTP 요청, 세션 관리, 쿠키 및 인증을 처리하기 위한 우아하고 Pythonic한 API를 제공합니다. 별도의 설정 없이 JSON 파싱, 커넥션 풀링, 자동 콘텐츠 디코딩을 지원합니다. pip install requests로 설치할 수 있으며, curl2code에서 Python 변환 시 사용하는 기본 라이브러리입니다.
Requests와 http.client 중 어떤 것을 사용해야 하나요?
단순한 API, 자동 JSON 파싱, 내장 세션 지원 덕분에 대부분의 경우 Requests를 권장합니다. http.client는 Python 표준 라이브러리의 일부로 설치가 필요 없으므로 최소한의 환경에 적합합니다. 다른 언어에서의 유사한 편의성을 확인하려면 curl to Ruby 변환기 또는 curl to Go 변환기를 참조하세요.
Python Requests에서 인증을 어떻게 처리하나요?
Bearer 인증의 경우 토큰과 함께 Authorization 헤더를 전달하거나, Basic 인증의 경우 requests.auth.HTTPBasicAuth(user, pass)를 사용하세요. curl2code는 -u user:pass 및 -H 'Authorization: Bearer ...'를 포함한 인증 패턴을 자동으로 감지합니다.
Python으로 multipart 폼 데이터를 어떻게 보내나요?
files 파라미터를 사용하세요: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }). 추가 폼 필드가 필요한 경우 data를 동시에 사용합니다. curl2code는 -F 플래그를 자동으로 처리합니다.
에러 처리와 재시도는 어떻게 하나요?
4xx/5xx 응답 시 예외를 발생시키려면 response.raise_for_status()를 사용하세요. requests.exceptions.RequestException을 잡는 try/except 문으로 감싸서 처리합니다. 재시도의 경우 Session 어댑터와 함께 urllib3.util.Retry를 사용하세요.
Python에서 비동기 HTTP 요청을 어떻게 만드나요?
requests는 동기 방식입니다. 비동기 HTTP의 경우 aiohttp 또는 httpx(requests와 호환되는 인터페이스로 동기 및 비동기 API 모두 제공)를 사용하세요. 높은 동시성이 필요한 시나리오에서는 비동기 클라이언트가 훨씬 더 나은 처리량을 제공합니다.
타임아웃과 커넥션 풀링은 어떻게 설정하나요?
항상 타임아웃을 설정하세요: requests.get(url, timeout=(3.05, 27)). 커넥션 풀링의 경우 TCP 연결을 재사용하는 requests.Session()을 사용하세요. curl의 --connect-timeout 및 --max-time이 이 설정들에 매핑됩니다.
Python Requests에서 프록시를 어떻게 구성하나요?
proxies 딕셔너리를 전달하세요: { 'https': 'http://proxy:8080' }. SOCKS의 경우 requests[socks]를 설치해야 합니다. 또한 HTTP_PROXY / HTTPS_PROXY 환경 변수도 지원합니다. curl2code는 -x 및 --proxy를 자동으로 변환합니다.
Python에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 Python으로 변환하세요. 생성된 코드는 requests.post(url, json={'key': 'value'})를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 Requests 코드에 적절한 Content-Type 헤더를 설정합니다.
Python에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 headers={'Authorization': 'Bearer YOUR_TOKEN'}와 같은 인증 헤더가 포함된 Requests 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Python에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 Requests 코드로 변환합니다: headers={'Content-Type': 'application/json'}. -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 Requests API에 매핑합니다.
curl 명령어를 Python 코드로 변환하는 방법은 무엇인가요?
curl 명령어를 curl2code에 붙여넣고 Python을 선택하세요. 이 도구는 -X (메서드), -H (헤더), -d (데이터), -u (인증), -F (폼), 쿠키 등 모든 플래그를 파싱하여 깔끔한 Python Requests 코드를 생성합니다. 변환은 WebAssembly를 통해 브라우저에서 로컬로 실행되므로 API 키와 데이터는 비공개로 유지됩니다. 대체 라이브러리로 http.client를 선택할 수도 있습니다.