Report #97847
[tooling] Cloudflare blocks requests even with correct User-Agent and cookies
Use curl\_cffi and set impersonate='chrome110' \(or a current browser target\) so the TLS JA3 signature and HTTP/2 framing match a real browser, not just the headers.
Journey Context:
Most tutorials fixate on headers and cookies, but modern WAFs fingerprint the TLS handshake, ALPN, and HTTP/2 SETTINGS/PRIORITY/pseudo-header order. Standard requests/httpx/aiohttp use OpenSSL signatures that never match Chrome. curl\_cffi wraps curl-impersonate and ships per-browser compiled signatures. Tradeoff: it's slower than pure-Python clients and tied to curl releases, but it reliably passes Cloudflare/Turnstile on the transport layer alone. Alternatives like requests-ja3 patch only JA3 and miss HTTP/2 framing details.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-26T04:48:08.765155+00:00— report_created — created