Python 快速验证代理IP是否有效的方法实现

 更新时间:2021年07月15日 11:46:33   作者:cutercorley  
有时候,我们需要用到代理IP,比如在爬虫的时候,不知道怎么验证这些IP是不是有效的,本文就介绍一下,感兴趣的可以了解一下

有时候,我们需要用到代理IP,比如在爬虫的时候,但是得到了IP之后,可能不知道怎么验证这些IP是不是有效的,这时候我们可以使用Python携带该IP来模拟访问某一个网站,如果多次未成功访问,则说明这个代理是无效的。

代码如下:

import requests
import random
import time

http_ip = [
    '118.163.13.200:8080',
    '222.223.182.66:8000',
    '51.158.186.242:8811',
    '171.37.79.129:9797',
    '139.255.123.194:4550'
]

for i in range(10):
    try:
        ip_proxy = random.choice(http_ip)
        proxy_ip = {
            'http': ip_proxy,
            'https': ip_proxy,
        }
        print('使用代理的IP:', proxy_ip)
        response = requests.get("http://httpbin.org/ip", proxies=proxy_ip).text
        print(response)
        print('当前IP有效')
        time.sleep(2)
    except Exception as e:
        print(e.args[0])
        print('当前IP无效')
        continue

运行结果如下:

使用代理的IP: {'http': '118.163.13.200:8080', 'https': '118.163.13.200:8080'}
HTTPConnectionPool(host='118.163.13.200', port=8080): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247674F5F88>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{
  "origin": "51.158.186.242"
}

当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
{
  "origin": "139.202.62.84, 222.223.182.66"
}

当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{
  "origin": "51.158.186.242"
}

当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{
  "origin": "51.158.186.242"
}

当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
HTTPConnectionPool(host='222.223.182.66', port=8000): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247675067C8>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '139.255.123.194:4550', 'https': '139.255.123.194:4550'}
HTTPConnectionPool(host='139.255.123.194', port=4550): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000247674F55C8>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{
  "origin": "51.158.186.242"
}

当前IP有效
使用代理的IP: {'http': '51.158.186.242:8811', 'https': '51.158.186.242:8811'}
{
  "origin": "51.158.186.242"
}

当前IP有效
使用代理的IP: {'http': '222.223.182.66:8000', 'https': '222.223.182.66:8000'}
HTTPConnectionPool(host='222.223.182.66', port=8000): Max retries exceeded with url: http://httpbin.org/ip (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024767514908>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
当前IP无效

到此这篇关于Python 快速验证代理IP是否有效的方法实现的文章就介绍到这了,更多相关Python 验证代理IP是否有效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中的条件判断语句与循环语句用法小结

    Python中的条件判断语句与循环语句用法小结

    这篇文章主要介绍了Python中的条件判断语句与循环语句用法小结,条件语句和循环语句是Python程序流程控制的基础,需要的朋友可以参考下
    2016-03-03
  • Python中对象的引用与复制的使用

    Python中对象的引用与复制的使用

    引用和复制是Python处理对象的重要概念,本文主要介绍了Python中对象的引用与复制的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Python中的面向对象编程详解(下)

    Python中的面向对象编程详解(下)

    这篇文章主要介绍了Python中的面向对象编程详解(下),本文讲解了继承、super关键字、重写、多重继承、类、实例和其他对象的内建函数、私有化等内容,需要的朋友可以参考下
    2015-04-04
  • Python NumPy实现数组搜索示例详解

    Python NumPy实现数组搜索示例详解

    NumPy是一个开源的Python科学计算库,使用NumPy可以很自然地使用数组和矩阵,这篇文章主要介绍了使用NumPy实现数组搜索,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习吧
    2023-05-05
  • python中time tzset()函数实例用法

    python中time tzset()函数实例用法

    在本篇文章里小编给大家整理的是一篇关于python中time tzset()函数实例用法内容,有兴趣的朋友们可以学习下。
    2021-02-02
  • 9种python web 程序的部署方式小结

    9种python web 程序的部署方式小结

    python有很多web 开发框架,代码写完了,部署上线是个大事,通常来说,web应用一般是三层结构web server ---->application -----> DB server
    2014-06-06
  • python实现自动解数独小程序

    python实现自动解数独小程序

    这篇文章主要为大家详细介绍了python实现自动解数独小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Keras 利用sklearn的ROC-AUC建立评价函数详解

    Keras 利用sklearn的ROC-AUC建立评价函数详解

    这篇文章主要介绍了Keras 利用sklearn的ROC-AUC建立评价函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python字典取值全攻略之高效、简洁地获取字典值的多种技巧

    Python字典取值全攻略之高效、简洁地获取字典值的多种技巧

    这篇文章主要给大家介绍了关于Python字典取值全攻略之高效、简洁地获取字典值的多种技巧,dictionary(字典)是除列表以外Python之中最灵活的数据类型,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • python绘制字符画视频的示例代码

    python绘制字符画视频的示例代码

    网上有很多的字符画,看起来很炫酷,本文就通过一则示例实现字符画视频,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论