Python检查代理池IP是否可用

导语:Python检查代理池IP是否可用

昨晚睡觉前写的代理检查函数突然崩了,起初以为是自己的网络问题,因为这两天家里的网速慢的跟蜗牛似的,挂了VPN比没挂都快,所以一直是挂着VPN在上网。试了几遍发现我昨晚好像把错误代码给黏贴上也没测试就睡了,仔细一看还真是

def check_proxy(ip, port):
    try:
        # 设置重连次数
        requests.adapters.DEFAULT_RETRIES = 3
        proxy = f"http://{ip}:{port}"
        res = requests.get(url="http://icanhazip.com/", timeout=20, proxies={"http": proxy})
        proxyIP = res.text
        if (proxyIP == proxy):
            return True
        else:
            return False
    except:
        print("代理IP无效!")
        return False

错误如下:
第9行手贱,写多了一个proxyIP变量,这里成了恒等了。
第10行傻逼错误,res.text出来的是有html标签的网页源码,所以用个==是在比较什么?while false:吗?
修正以后的代码如下:

def check_proxy(proxy):
    proxyaddress = proxy.split(':')[0]
    proxyport = proxy.split(':')[1]
    try:
        # 设置重连次数
        requests.adapters.DEFAULT_RETRIES = 3
        proxy = f"http://{proxyaddress}:{proxyport}"
        res = requests.get(url="http://icanhazip.com/", timeout=20, proxies={"http": proxy})
        if (proxyaddress in res.text):
            return True
        else:
            return False
    except Exception as e:
        print("发生连接错误,错误代码:%s" % e)
        return False
THE END
分享
二维码
< <上一篇
下一篇>>