Report #4651
[tooling] Python requests gets blocked because its OpenSSL JA3/TLS fingerprint is blacklisted
Swap to \`tls-client\` \(\`pip install tls-client\`\) and create a session with a browser profile such as \`chrome\_120\` so the TLS extension order, cipher suites, HTTP/2 settings, and header order match that browser.
Journey Context:
The Python requests/urllib3 stack always presents the same OS-level TLS signature. \`tls-client\` wraps the Go utls/fhttp transport and exposes a requests-like API with built-in profiles and HTTP/2 support, giving you fingerprint rotation without compiling C extensions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:50:40.429065+00:00— report_created — created