diff --git a/src/providers/chatgpt.py b/src/providers/chatgpt.py index 57c02e0..90c7400 100644 --- a/src/providers/chatgpt.py +++ b/src/providers/chatgpt.py @@ -40,6 +40,12 @@ class ChatGPTProvider(BaseProvider): cf_session = curl_requests.Session(impersonate=IMPERSONATE) super().__init__(session=cf_session) # type: ignore[arg-type] + # Remove the User-Agent set by BaseProvider. curl_cffi sets a UA that is + # consistent with its TLS JA3 fingerprint for chrome120. If we leave a + # mismatched UA (e.g. Chrome/121 header with Chrome/120 TLS), Cloudflare's + # bot detection flags it. Removing it lets curl_cffi manage its own UA. + self._session.headers.pop("User-Agent", None) + token = session_token or os.getenv("CHATGPT_SESSION_TOKEN", "").strip() if not token: raise ProviderError(