Repolode
lexiforest

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. 1

    PyPI에서 패키지를 설치합니다

    pip install curl_cffi --upgrade
  2. 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 통계는 매일 갱신됩니다.

관련 프로젝트