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的Django框架中的QuerySets
Apr 20 Python
Python的Flask框架中实现分页功能的教程
Apr 20 Python
Python函数的周期性执行实现方法
Aug 13 Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
python贪吃蛇游戏代码
Apr 18 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
python的json包位置及用法总结
Jun 21 Python
python打开文件的方式有哪些
Jun 29 Python
Python常用外部指令执行代码实例
Nov 05 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 Python
Django路由层如何获取正确的url
Jul 15 #Python
Python实现排序方法常见的四种
Jul 15 #Python
手把手教你使用TensorFlow2实现RNN
一篇文章弄懂Python关键字、标识符和变量
python开发飞机大战游戏
详解Python中下划线的5种含义
Python操作CSV格式文件的方法大全
You might like
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
jQuery 获取URL参数的插件
2010/03/04 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
python3图片转换二进制存入mysql
2013/12/06 Python
python开发之str.format()用法实例分析
2016/02/22 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
Python实现的特征提取操作示例
2018/12/03 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
学校后勤人员职责
2013/12/27 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
会议开幕词
2015/01/28 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
Python 可迭代对象 iterable的具体使用
2021/08/07 Python