raw curl 명령을 일반적인 Java 메서드 호출로 실행하는 Java 라이브러리로, HTTP 클라이언트 코드를 작성하지 않고 Postman이나 브라우저 DevTools에서 복사한 curl을 그대로 붙여 넣을 수 있습니다.
lexiforest/curl_cffi
브라우저의 TLS, JA3, HTTP/2 지문을 흉내 내 차단을 우회할 수 있는 curl 기반 Python HTTP 클라이언트입니다.
- 스타
- 6,769
- 포크
- 570
- 열린 이슈
- 46
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
curl_cffi는 cffi로 빌드한 curl-impersonate 포크용 Python 바인딩입니다. 동기 및 비동기 HTTP 요청에 requests와 비슷한 API를 제공하며, requests나 httpx와 달리 실제 브라우저에서 보낸 것처럼 보이는 연결을 만들어 브라우저의 TLS, JA3, HTTP/2 지문을 흉내 낼 수 있습니다.
이 라이브러리는 세션과 쿠키를 지원하는 requests 스타일의 고수준 인터페이스와 저수준 curl API를 제공합니다. impersonate="chrome" 같은 매개변수로 브라우저 대상을 선택하거나, 브라우저가 아닌 대상에 사용할 ja3 및 akamai 문자열을 직접 지정할 수 있습니다. HTTP/3, SOCKS 및 HTTP 프록시, WebSocket 연결도 지원하며, 함께 제공되는 curl-cffi CLI로 가장할 브라우저를 지정해 URL을 가져올 수도 있습니다.
Linux, macOS, Windows용 사전 컴파일된 wheel을 배포하므로 로컬에서 컴파일할 필요가 없습니다. 패키지를 업그레이드하지 않고도 update 명령으로 지문 프리셋을 갱신할 수 있습니다.
핵심 기능
- 01사용자 지정 지문을 포함해 브라우저의 TLS/JA3 및 HTTP/2 지문을 흉내 냅니다.
- 02세션을 지원하는 requests 유사 API와 동기 및 asyncio 클라이언트를 제공합니다.
- 03HTTP/2와 HTTP/3, HTTP 및 SOCKS 프록시를 지원합니다.
- 04핸드셰이크에서 브라우저 가장을 지원하는 WebSocket 클라이언트를 포함합니다.
- 05가장 기능으로 URL을 가져올 수 있는 curl-cffi CLI를 제공합니다.
활용 사례
- TLS 지문을 기준으로 requests나 httpx를 차단하는 사이트에서 페이지를 가져올 때.
- asyncio 동시성과 프록시 로테이션이 필요한 웹 스크레이퍼를 구축할 때.
- 특정 브라우저 지문에 서비스가 어떻게 응답하는지 테스트할 때.
- 브라우저와 유사한 TLS 동작이 필요한 Scrapy 또는 requests 기반 코드를 사용할 때.
빠른 시작
- 1
PyPI에서 패키지를 설치합니다
pip install curl_cffi --upgrade - 2
Chrome을 가장하는 요청을 보냅니다
python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
사용 전 알아둘 점
- http/3 지문과 같은 일부 고급 기능을 사용하려면 최신 버전이 필요합니다.
- 상용 지원과 추가 지문은 유료 플랜을 통해 제공됩니다.
토픽
자주 묻는 질문
- curl_cffi은(는) 무엇인가요?
- 브라우저의 TLS, JA3, HTTP/2 지문을 흉내 내 차단을 우회할 수 있는 curl 기반 Python HTTP 클라이언트입니다. curl_cffi는 cffi로 빌드한 curl-impersonate 포크용 Python 바인딩입니다. 동기 및 비동기 HTTP 요청에 requests와 비슷한 API를 제공하며, requests나 httpx와 달리 실제 브라우저에서 보낸 것처럼 보이는 연결을 만들어 브라우저의 TLS, JA3, HTTP/2 지문을 흉내 낼 수 있습니다.
- curl_cffi은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- curl_cffi은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- curl_cffi은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. curl_cffi의 마지막 커밋은 2026년 10월 23일입니다.
- curl_cffi은(는) 어디에 사용할 수 있나요?
- TLS 지문을 기준으로 requests나 httpx를 차단하는 사이트에서 페이지를 가져올 때. asyncio 동시성과 프록시 로테이션이 필요한 웹 스크레이퍼를 구축할 때. 특정 브라우저 지문에 서비스가 어떻게 응답하는지 테스트할 때. 브라우저와 유사한 TLS 동작이 필요한 Scrapy 또는 requests 기반 코드를 사용할 때.
- curl_cffi는 어떻게 설치하나요?
- PyPI에서 패키지를 설치합니다: pip install curl_cffi --upgrade Chrome을 가장하는 요청을 보냅니다: python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
- curl_cffi은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/lexiforest/curl_cffi
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Hurl은 일반 텍스트 파일 형식으로 작성한 HTTP 요청을 실행하고 테스트하는 CLI 도구입니다.
Go 표준 net/http 패키지를 기반으로 한 고성능 미니멀 웹 프레임워크입니다.
ws:// 및 wss:// 연결을 위한 명령줄 WebSocket 클라이언트·서버로, netcat, curl, socat처럼 사용할 수 있습니다.
HTTP/1, HTTP/2, WebSocket 트래픽을 검사하는 콘솔·명령줄·웹 인터페이스를 갖춘 TLS 지원 인터셉팅 HTTP 프록시입니다.
REST, GraphQL, WebSocket, SSE, Socket.IO, MQTT 요청을 보내는 오픈소스 API 개발 도구 모음