讲师中心 微信公众号
AI工具推荐 视频效率加速

Python IP + User-Agent + 指纹的复合限流

雨墨吖_2528

雨墨吖_2528

发布时间:2026-02-18 14:59:26

|

322人浏览过

|

来源于php中文网

原创

requests被秒封因服务端综合检测TCP指纹、IP行为和浏览器指纹;纯Python默认TLS特征固定、缺Sec-Ch-Ua等头、无时序抖动,易被CDN/WAF拦截。

python ip + user-agent + 指纹的复合限流

为什么 requests 直接加 headers 还是被秒封?

因为服务端不只看 User-Agent,它同时采集 TCP 指纹(TLS 握手特征、HTTP/2 支持、ALPN 顺序)、IP 行为(请求间隔、并发数、历史响应码分布)和浏览器指纹(Canvas/WebGL/字体等 JS 特征)。纯 Python requests 默认用 OpenSSL 底层,TLS 扩展顺序固定、不发 Sec-Ch-Ua 头、无真实浏览器的时序抖动——这些全是硬伤。

常见错误现象:403 Forbidden 或 429 Too Many Requests 响应头带 cf-chl-bypass 或 x-served-by 字段;抓包发现请求根本没进业务逻辑,卡在 CDN/WAF 层。

  • 别用 requests.Session() 简单轮换 User-Agent 字符串——指纹雷同,IP 一挂全挂
  • 别依赖 fake_useragent 库——它只更新 UA 字符串,不改底层 TLS 行为
  • 真实浏览器访问时带的 Sec-Fetch-*、Accept-Language、DNT 等头,Python 默认全无

怎么让 Python 请求看起来像 Chrome?

核心是「协议层拟真」:用 httpx 替代 requests,搭配 httpx.AsyncClient(http2=True) 和自定义 TLS 配置;UA 必须匹配对应 Chrome 版本的完整指纹(含 Sec-Ch-Ua、Sec-Ch-Ua-Mobile),且每次请求微调时间戳和随机 header 顺序。

实操建议:

立即学习“Python免费学习笔记(深入)”;

Python Hardener
Python Hardener

通过完整的安全审查、代码整洁重构、健壮的错误处理、正确的日志记录以及完整的文档字符串覆盖,强化 Python 脚本。

下载
  • 用 httpx + httpcore 的 SSLContext 自定义 TLS 1.3 扩展顺序(如重排 supported_groups、启用 key_share)
  • User-Agent 和 Sec-Ch-Ua 必须严格对齐,例如:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36" 对应 Sec-Ch-Ua: "Chromium";v="124", "Google Chrome";v="124", "Not=A?Brand";v="24"
  • 加一个 random.uniform(0.8, 1.3) 的请求间隔抖动,避免固定周期触发速率模型

IP 限流绕过不是换代理就完事

高频 IP 被标记后,即使换代理,只要 TLS 指纹、UA、请求路径模式一致,WAF 仍会关联识别。重点不是“换”,而是“稀释”:把流量打散到不同 IP + 不同指纹组合 + 不同请求路径权重。

使用场景:爬取电商商品详情页时,/product/{id} 接口被限,但 /api/v2/product/{id}/reviews 可能未被监控。

  • 代理必须支持连接池复用(如 httpx 的 limits 参数控制每 IP 并发 ≤ 2)
  • 每个代理 IP 绑定唯一指纹配置(不同 Chrome 版本 UA + 不同 TLS 扩展顺序),禁止混用
  • 对同一目标 URL,主动错开 Referer(https://www.example.com/ vs https://m.example.com/)和 Accept-Encoding(gzip, deflate vs br, gzip)

哪些参数组合最容易触发风控?

不是单个字段危险,而是多个低风险参数叠加形成「非人行为签名」。比如:Chrome UA + HTTP/1.1 + 无 Sec-Fetch-Site + Connection: close + TLS 1.2 且无 key_share 扩展——这基本等于告诉 WAF「我是 Python 脚本」。

性能与兼容性影响:

  • 启 HTTP/2 会提升吞吐,但部分老旧 CDN(如早期 Cloudflare)会因 ALPN 协商失败直接拒连
  • 强制 TLS 1.3 可绕过部分基于 TLS 1.2 指纹的规则,但国内某些中间设备可能降级失败
  • httpx 的异步能力必须配合 asyncio.Semaphore 控制总并发,否则 DNS 解析或连接池耗尽反而暴露脚本特征

复杂点在于:指纹拟真程度和请求成功率是反比关系。过度模拟(比如强行伪造 WebGL 渲染结果)会导致 SSL 握手失败率飙升;而过于保守又会被秒识别。真正有效的策略,是按目标站点的 WAF 类型(Cloudflare / Akamai / 自研)动态调整指纹强度,而不是一套配置打天下。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2926

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

5999

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

4287

2026.03.24

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

580

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

876

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

1966

2025.08.19

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1878

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3044

2023.09.04

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn