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中使用hashlib模块处理算法的教程
Apr 28 Python
python利用Guetzli批量压缩图片
Mar 23 Python
python中subprocess批量执行linux命令
Apr 27 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
Python日志syslog使用原理详解
Feb 18 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
Jan 27 Python
Python实现简单猜数字游戏
Feb 03 Python
Python 数据可视化之Bokeh详解
Nov 02 Python
Django路由层如何获取正确的url
Jul 15 #Python
Python实现排序方法常见的四种
Jul 15 #Python
手把手教你使用TensorFlow2实现RNN
一篇文章弄懂Python关键字、标识符和变量
python开发飞机大战游戏
详解Python中下划线的5种含义
Python操作CSV格式文件的方法大全
You might like
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python爬虫爬取笔趣网小说网站过程图解
2019/11/18 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
园林毕业生自我鉴定范文
2013/12/29 职场文书
保密工作实施方案
2014/02/24 职场文书
扬尘污染防治方案
2014/06/15 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
教育读书笔记
2015/07/02 职场文书
班主任寄语2016
2015/12/04 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android