自定义 User-Agent 测速,验证 WAF 有没有拦你
「百度收录一直不涨」和「网站访问正常」这两件事可以同时成立。因为来抓取的不是浏览器,是蜘蛛,而有些站点的防护策略对这两类来访者的态度完全不同。
User-Agent 就是用来区分它们的。
换 UA 到底改变了什么
只改一个请求头字段。TCP 连接、TLS 握手、解析路径全都不变,唯一变化的是服务端看到的「你是谁」。
正因为它只改这一处,结论才干净:换 UA 之后结果变了,拦截就发生在 UA 这一层,跟线路、跟 IP、跟 DNS 都没关系。
三个常见场景
测蜘蛛可达性。 把 UA 换成百度或者 Google 的蜘蛛标识,测一次。如果返回 403 或者直接超时,说明站点拦了蜘蛛,收录问题就找到根了。
测微信内打开。 换成微信内置浏览器的 UA,看是不是被拦。域名拦截类的问题,这一步能快速区分「被封」还是「站点自己拦的」。
测 WAF 规则。 有些规则按客户端特征放行或拦截,正常浏览器测不出来,换个 UA 立刻现形。
必须说清的一个局限
改 UA 只是改了一个字符串,不是真的模拟那台设备。它不会执行 JS,不会有真实的 TLS 指纹,也不会带上那个客户端的其他特征。
所以「换 UA 能打开」只能证明 UA 这关过了,不能证明蜘蛛真的能抓、微信里真的能用。后者还涉及渲染和域名层面的策略。
也正因为如此,这个工具不适合拿来做「移动端测速」——宝塔拨测本身不模拟移动设备,UA 换成 iPhone 也只是换了个字符串,测出来的还是服务器响应,不是手机上的体验。
怎么组合着用
在 网站测速 的高级选项里换 UA,先空 UA 测一次做基准,再换成目标 UA 测一次。两次只差一个变量,对比才有意义。
如果两次结果一样,说明 UA 不是原因,去查线路和解析;如果差异明显,问题已经锁定,接下来查防护规则就行。查之前建议先用 IP 查询 确认你测到的是哪台机器,别在错误的节点上分析错误的现象。