Biblioteca Java que executa comandos curl diretamente como chamadas de métodos, permitindo colar comandos do Postman ou das ferramentas de desenvolvedor do navegador sem escrever código de cliente HTTP.
lexiforest/curl_cffi
Cliente HTTP para Python baseado no curl que pode imitar fingerprints de TLS, JA3 e HTTP/2 de navegadores para contornar bloqueios.
- Estrelas
- 6,769
- Forks
- 570
- Issues abertas
- 46
- Último commit
- anteontem
O que é?
curl_cffi é um binding de Python para um fork do curl-impersonate, desenvolvido com cffi. Ele oferece uma API semelhante à do requests para requisições HTTP síncronas e assíncronas, mas, ao contrário do requests ou do httpx, pode criar conexões que parecem vir de navegadores reais, imitando seus fingerprints de TLS, JA3 e HTTP/2.
A biblioteca oferece uma interface de alto nível no estilo do requests, com sessões e cookies, além de uma API curl de baixo nível. Você escolhe um navegador como alvo com um parâmetro como impersonate="chrome" ou fornece strings ja3 e akamai personalizadas para alvos que não sejam navegadores. Também há suporte a HTTP/3, proxies SOCKS e HTTP e conexões WebSocket. Além disso, o pacote inclui uma CLI chamada curl-cffi, que pode buscar URLs com impersonação.
Há wheels pré-compilados para Linux, macOS e Windows, então não é necessário compilar localmente. Os presets de fingerprint podem ser atualizados com o comando update, sem precisar atualizar o pacote.
Recursos principais
- 01Imita fingerprints de TLS/JA3 e HTTP/2 de navegadores, inclusive fingerprints personalizados.
- 02Oferece uma API semelhante à do requests, com sessões e clientes síncronos e asyncio.
- 03Dá suporte a HTTP/2 e HTTP/3, além de proxies HTTP e SOCKS.
- 04Inclui clientes WebSocket com impersonação de navegador durante o handshake.
- 05Inclui a CLI curl-cffi para buscar URLs com impersonação.
Casos de uso
- Buscar páginas em sites que bloqueiam requisições com base nos fingerprints de TLS do requests ou do httpx.
- Criar scrapers da web que precisam de concorrência com asyncio e rotação de proxies.
- Testar como um serviço responde a fingerprints específicos de navegadores.
- Usar Scrapy ou código baseado no requests com comportamento de TLS semelhante ao de navegadores.
Início rápido
- 1
Instale o pacote pelo PyPI
pip install curl_cffi --upgrade - 2
Faça uma requisição que se passe pelo Chrome
python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
Antes de usar
- Alguns recursos avançados, como as impressões digitais de http/3, exigem uma versão recente.
- O suporte comercial e as impressões digitais extras são oferecidos em um plano pago.
Tópicos
Perguntas frequentes
- O que é curl_cffi?
- Cliente HTTP para Python baseado no curl que pode imitar fingerprints de TLS, JA3 e HTTP/2 de navegadores para contornar bloqueios. curl_cffi é um binding de Python para um fork do curl-impersonate, desenvolvido com cffi. Ele oferece uma API semelhante à do requests para requisições HTTP síncronas e assíncronas, mas, ao contrário do requests ou do httpx, pode criar conexões que parecem vir de navegadores reais, imitando seus fingerprints de TLS, JA3 e HTTP/2.
- curl_cffi é gratuito? Qual é a licença?
- curl_cffi é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- curl_cffi ainda é mantido?
- Manutenção ativa. O último commit de curl_cffi foi em 23 de out. de 2026.
- Para que posso usar curl_cffi?
- Buscar páginas em sites que bloqueiam requisições com base nos fingerprints de TLS do requests ou do httpx. Criar scrapers da web que precisam de concorrência com asyncio e rotação de proxies. Testar como um serviço responde a fingerprints específicos de navegadores. Usar Scrapy ou código baseado no requests com comportamento de TLS semelhante ao de navegadores.
- Como instalar curl_cffi?
- Instale o pacote pelo PyPI: pip install curl_cffi --upgrade Faça uma requisição que se passe pelo Chrome: python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
- Onde consigo curl_cffi?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lexiforest/curl_cffi
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Hurl é uma ferramenta de linha de comando que executa e testa requisições HTTP descritas em arquivos de texto simples.
Um framework web minimalista e de alto desempenho para Go, baseado no pacote padrão net/http.
Cliente e servidor WebSocket de linha de comando, como netcat, curl e socat para conexões ws:// e wss://.
Proxy HTTP interativo com suporte a TLS, que permite interceptar e inspecionar tráfego HTTP/1, HTTP/2 e WebSocket por interfaces de console, linha de comando e web.
Ecossistema open source para desenvolvimento de APIs, com envio de requisições REST, GraphQL, WebSocket, SSE, Socket.IO e MQTT em apps web, desktop e CLI.