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


Posted in Python onJuly 15, 2021

有时候,我们需要用到代理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装饰器使用方法实例
Nov 21 Python
python简单文本处理的方法
Jul 10 Python
详解python中字典的循环遍历的两种方式
Feb 07 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
Python中pip更新和三方插件安装说明
Jul 08 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
聊聊python中的循环遍历
Sep 07 Python
利用python爬取有道词典的方法
Dec 08 Python
Django路由层如何获取正确的url
Jul 15 #Python
Python实现排序方法常见的四种
Jul 15 #Python
手把手教你使用TensorFlow2实现RNN
一篇文章弄懂Python关键字、标识符和变量
python开发飞机大战游戏
详解Python中下划线的5种含义
Python操作CSV格式文件的方法大全
You might like
《APMServ 5.1.2》使用图解
2006/10/23 PHP
通俗易懂的php防注入代码
2010/04/07 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP单链表的实现代码
2016/07/05 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
[01:04:14]VP vs TNC 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python数组复制拷贝的实现方法
2015/06/09 Python
Python制作刷网页流量工具
2017/04/23 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
应届毕业生的自我鉴定
2013/11/13 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers