代理停止工作后,之前访问过的页面仍可能显示。浏览器展示的也许只是缓存内容,甚至 IP 检测页上的出口地址都是旧的。

  1. 发送新请求前,先打开浏览器的 Network 面板。在 Chrome DevTools 中禁用浏览器缓存,并保持 DevTools 打开。
  2. 向可控端点发送请求,其响应应适合用于一次新的检查。
  3. 查看请求究竟如何结束:网络响应、内存或磁盘缓存、service worker,还是失败。即使缓存的文档内容仍在显示,也要记录网络失败。

只有真正走过预定路径的请求,才是可以评估的代理通信。浏览器控件的导航完成事件报告的是文档加载,页面中的 frame 还可能触发多次完成事件;它并不能回答这条路径是否正常。

自动检查代理列表时,来自免费代理列表的候选代理仍需要独立的 HTTP 请求,并明确指定路径和超时时间,不能靠反复切换浏览器全局设置来代替。记录请求结果时,也要包括目标端的拒绝响应——这种响应可能经过一台正常工作的代理返回。

相关文章