轮换了代理 IP 只是伪装了一半,请求头才是另一半指纹。本篇讲解随机 User-Agent、Accept-Language、Referer 的设置要点,让浏览器指纹与代理出口保持一致,不给反爬系统留下破绽。
只换 IP 不够:请求头就是第二道指纹
很多人花了大力气轮换代理 IP,却让每个请求都顶着同一个 User-Agent 与同一套请求头,等于左手换了面具、右手还戴着工牌。反爬系统会交叉比对 IP、UA、语言、来源页的一致性,任何一项自相矛盾都会被扣分,扣够阈值就触发验证码或封禁。
User-Agent 轮换的三个要点
- 与目标用户群匹配: 采集中文站点就应以国内主流浏览器的 UA 为主,不要混入大量冷门或早已过时的版本。
- 同一会话保持同一 UA: 会话保持型代理下 IP 在一个会话内不变,UA 必须跟着保持,中途更换 UA 是典型破绽。
- UA 与其他头部自洽: 移动端 UA 应搭配移动端的请求特征,桌面端同理,不要出现"手机 UA 加桌面 Referer"的矛盾组合。
Accept-Language、Referer 等请求头怎么设
真实浏览器会携带一整套请求头,缺项过多本身就是异常特征,基础模板如下:
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "zh-CN,zh;q=0.9",
"Referer": "https://www.example.com/list?page=1",
"Connection": "keep-alive",
}
- Accept-Language: 与代理 IP 的归属地保持一致,美国出口配纯中文语言头是最常见的矛盾点。
- Referer: 模拟真实跳转路径,从列表页进入详情页时带上列表页地址,比直接裸访问自然得多。
- Accept-Encoding: 保留常见取值即可,随意删掉可能导致响应解析异常,反而暴露非浏览器身份。
指纹一致性检查清单
- 地域与语言匹配: 出口 IP 在美国,Accept-Language 却全是 zh-CN,权重立刻下降。
- 访问节奏像人: 深夜匀速批量访问配合节假日特征,同样会被行为模型标记。
- 整组轮换: 把 UA、语言、平台绑定成"指纹组"整体切换,而不是各项独立随机造成错配。
- 定期更新指纹库: 浏览器版本每季度都在迭代,两年未更新的 UA 池会逐渐变成异常样本。
代理负责隐藏真实出口,请求头负责塑造可信身份,两者配合得天衣无缝,反爬系统才真正无从下手。
Article ID: 70
(本文仅供技术交流,请遵守法律法规)