[Feat] Move httpx to curl_cffi for better performance and anti-detection #108

Open
opened 2026-02-13 17:27:51 -06:00 by mirrors · 0 comments
Owner

Originally created by @faithleysath on GitHub (Nov 21, 2025).

https://github.com/lexiforest/curl_cffi

Features

  • Supports JA3/TLS and http2 fingerprints impersonation, including recent browsers and custom fingerprints.
  • Much faster than requests/httpx, on par with aiohttp/pycurl, see benchmarks.
  • Mimics the requests API, no need to learn another one.
  • Pre-compiled, so you don't have to compile on your machine.
  • Supports asyncio with proxy rotation on each request.
  • Supports http 2.0 & 3.0, which requests does not.
  • Supports websocket.
  • MIT licensed.
requests aiohttp httpx pycurl curl_cffi
http/2
http/3 ☑️1 2
sync
async
websocket
fingerprints
speed 🐇 🐇🐇 🐇 🐇🐇 🐇🐇

Notes:

  1. For pycurl, you need an http/3 enabled libcurl to make it work, while curl_cffi packages libcurl-impersonate inside Python wheels.
  2. Since v0.11.4.
Originally created by @faithleysath on GitHub (Nov 21, 2025). https://github.com/lexiforest/curl_cffi ## Features - Supports JA3/TLS and http2 fingerprints impersonation, including recent browsers and custom fingerprints. - Much faster than requests/httpx, on par with aiohttp/pycurl, see [benchmarks](https://github.com/lexiforest/curl_cffi/tree/main/benchmark). - Mimics the requests API, no need to learn another one. - Pre-compiled, so you don't have to compile on your machine. - Supports `asyncio` with proxy rotation on each request. - Supports http 2.0 & 3.0, which requests does not. - Supports websocket. - MIT licensed. ||requests|aiohttp|httpx|pycurl|curl_cffi| |---|---|---|---|---|---| |http/2|❌|❌|✅|✅|✅| |http/3|❌|❌|❌|☑️<sup>1</sup>|✅<sup>2</sup>| |sync|✅|❌|✅|✅|✅| |async|❌|✅|✅|❌|✅| |websocket|❌|✅|❌|❌|✅| |fingerprints|❌|❌|❌|❌|✅| |speed|🐇|🐇🐇|🐇|🐇🐇|🐇🐇| Notes: 1. For pycurl, you need an http/3 enabled libcurl to make it work, while curl_cffi packages libcurl-impersonate inside Python wheels. 2. Since v0.11.4.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mirrors/Gemini-API#108
No description provided.