代理IP检测方法及可用性验证

为什么要检测代理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