为什么要检测代理IP
从公开渠道获取的免费代理IP中,有相当一部分已经失效或速度极慢。在使用前进行可用性检测是非常必要的。
检测方法
1. HTTP请求检测
通过代理访问一个已知的测试网站(如 httpbin.org/ip),对比返回的IP是否与代理IP一致。
2. 响应时间检测
记录从发起请求到获得响应的时间,超过一定阈值(如3秒)则判定为不可用。
3. 多站点验证
对同一代理IP在不同目标网站进行测试,确保其通用性。
Python检测脚本
import requests\nimport time\n\ndef check_proxy(ip, port, timeout=5):\n proxy = { 'http': f'http://{ip}:{port}' }\n try:\n start = time.time()\n resp = requests.get('http://httpbin.org/ip', proxies=proxy, timeout=timeout)\n elapsed = (time.time() - start) * 1000\n if resp.status_code == 200:\n return True, elapsed\n except:\n pass\n return False, 0 
