Repolode
lexiforest

lexiforest/curl_cffi

Cliente HTTP para Python basado en curl que puede imitar las huellas TLS, JA3 y HTTP/2 de los navegadores para eludir bloqueos.

Estrellas
6,769
Forks
570
Issues abiertos
46
Último commit
anteayer

¿Qué es?

curl_cffi es un binding de Python para una bifurcación de curl-impersonate, creado con cffi. Ofrece una API similar a la de requests para hacer solicitudes HTTP síncronas y asíncronas, pero, a diferencia de requests o httpx, puede establecer conexiones que parecen provenir de navegadores reales, imitando sus huellas TLS, JA3 y HTTP/2.

La biblioteca ofrece una interfaz de alto nivel al estilo de requests, con sesiones y cookies, además de una API de curl de bajo nivel. Puedes elegir un navegador objetivo con un parámetro como impersonate="chrome" o proporcionar cadenas ja3 y akamai personalizadas para objetivos que no sean navegadores. También admite HTTP/3, proxies SOCKS y HTTP, y conexiones WebSocket. Incluye además una CLI llamada curl-cffi, que puede obtener URL con suplantación de navegador.

Hay wheels precompilados para Linux, macOS y Windows, así que no hace falta compilar el código localmente. Los ajustes preestablecidos de huellas se pueden actualizar con el comando update sin actualizar el paquete.

Funciones clave

  • 01Imita las huellas TLS/JA3 y HTTP/2 de los navegadores, incluidas las huellas personalizadas.
  • 02Ofrece una API similar a la de requests con sesiones, además de clientes síncronos y de asyncio.
  • 03Admite HTTP/2 y HTTP/3, con proxies HTTP y SOCKS.
  • 04Incluye clientes WebSocket que imitan navegadores durante el handshake.
  • 05Incluye una CLI llamada curl-cffi para obtener URL con suplantación de navegador.

Casos de uso

  • Obtener páginas de sitios que bloquean solicitudes de requests o httpx según las huellas TLS.
  • Crear scrapers web que necesitan concurrencia con asyncio y rotación de proxies.
  • Probar cómo responde un servicio ante huellas específicas de navegadores.
  • Usar Scrapy o código basado en requests con un comportamiento TLS similar al de un navegador.

Inicio rápido

  1. 1

    Instala el paquete desde PyPI

    pip install curl_cffi --upgrade
  2. 2

    Envía una solicitud que suplante a Chrome

    python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"

Antes de usarlo

  • Algunas funciones avanzadas, como las huellas de http/3, requieren una versión reciente.
  • El soporte comercial y las huellas adicionales se ofrecen en un plan de pago.

Temas

Preguntas frecuentes

¿Qué es curl_cffi?
Cliente HTTP para Python basado en curl que puede imitar las huellas TLS, JA3 y HTTP/2 de los navegadores para eludir bloqueos. curl_cffi es un binding de Python para una bifurcación de curl-impersonate, creado con cffi. Ofrece una API similar a la de requests para hacer solicitudes HTTP síncronas y asíncronas, pero, a diferencia de requests o httpx, puede establecer conexiones que parecen provenir de navegadores reales, imitando sus huellas TLS, JA3 y HTTP/2.
¿curl_cffi es gratuito? ¿Qué licencia tiene?
curl_cffi es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿curl_cffi sigue mantenido?
Mantenimiento activo. El último commit de curl_cffi fue el 23 oct 2026.
¿Para qué puedo usar curl_cffi?
Obtener páginas de sitios que bloquean solicitudes de requests o httpx según las huellas TLS. Crear scrapers web que necesitan concurrencia con asyncio y rotación de proxies. Probar cómo responde un servicio ante huellas específicas de navegadores. Usar Scrapy o código basado en requests con un comportamiento TLS similar al de un navegador.
¿Cómo se instala curl_cffi?
Instala el paquete desde PyPI: pip install curl_cffi --upgrade Envía una solicitud que suplante a Chrome: python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
¿Dónde consigo curl_cffi?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/lexiforest/curl_cffi

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados