结论:单靠requests或selenium基础配置无法通过akamai tls指纹检测,因其client hello中加密套件顺序、扩展列表、alpn协议等底层特征暴露python身份,而curl_cffi配合impersonate参数可精准模拟浏览器ja3指纹并绕过。

直接说结论:单靠 requests 或 Selenium 基础配置,基本过不了 Akamai 的 TLS 指纹检测这一关。90% 的失败不是因为 UA 不对、IP 不够新,而是 Client Hello 报文里的加密套件顺序、扩展列表、ALPN 协议名这些底层特征暴露了 Python 脚本身份。
为什么 requests 和 urllib3 会被 Akamai 一眼识别?
Akamai 的 Bot Manager 在 TCP 连接建立后的第一个 TLS 握手阶段(Client Hello)就完成拦截,根本不会等到你发 Header 或执行 JS。
-
requests默认使用 OpenSSL,TLS 1.2 起始,加密套件硬编码为ECDHE-RSA-AES256-SHA等固定组合,JA3 指纹稳定可复现 - 缺少关键扩展:比如
application_layer_protocol_negotiation(ALPN)、signed_certificate_timestamp(SCT),而 Chrome 120+ 默认携带 - 椭圆曲线参数顺序错误:真实浏览器用
x25519优先,requests往往 fallback 到secp256r1 - 抓包验证方式:访问
https://tls.browserleaks.com/json,对比你脚本和 Chrome 的输出,差异项就是被拦的元凶
curl_cffi 是目前最轻量且有效的 TLS 指纹绕过方案
它不依赖系统 curl,也不模拟整个浏览器环境,而是通过 cffi 调用 libcurl 的 TLS 栈,并注入真实浏览器的指纹配置。
- 安装只需:
pip install curl_cffi - 核心参数是
impersonate,例如:impersonate="chrome120",会自动匹配该版本的 JA3 指纹、ALPN 值、扩展顺序、曲线偏好 - 支持主流浏览器指纹:chrome110–127、firefox115–128、safari17,甚至 edge120
- 不启动浏览器进程,无内存/性能开销,比 Selenium 快 3–5 倍,适合高频请求场景
- 示例代码片段:
from curl_cffi import requests <p>resp = requests.get( "<a href="https://www.php.cn/link/8a6d006fe664d5dc50f789d1713d12e1">https://www.php.cn/link/8a6d006fe664d5dc50f789d1713d12e1</a>", impersonate="chrome120", headers={ "Accept": "application/json", "Referer": "<a href="https://www.php.cn/link/3b4212acba5516490217ce1ba7ea5f8c">https://www.php.cn/link/3b4212acba5516490217ce1ba7ea5f8c</a>" } ) print(resp.status_code) # 200 才算真正过 TLS 层</p>
仅靠 curl_cffi 还不够:必须配合的三个动作
TLS 指纹只是第一道门,Akamai 后续还会校验行为链。忽略以下任一环节,仍可能在第二轮被拦截。
-
Cookies 和会话延续性:首次请求返回的
ak_bmsc、_abck、bm_sz等 cookie 必须原样带入后续请求,否则触发二次挑战 -
Referer 和 Origin 链路一致性:如果目标接口要求
Origin: https://target-akamai-site.com,但你的 Referer 是空或错配,会直接 403 -
请求节奏控制:即使指纹完美,1 秒内连续发 5 个相同路径的请求,依然可能触发行为风控;建议加
time.sleep(random.uniform(1.2, 2.8))
最容易被忽略的是:TLS 指纹可以伪造,但 ALPN 协议名(如 h2)和 SNI 主机名必须与目标域名严格一致,哪怕多一个下划线或大小写错误,连接就会在握手阶段被服务器主动中断——这时你连 HTTP 状态码都收不到,curl_cffi 会抛出 requests.exceptions.SSLError,而不是 403。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











