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通过正则表达式选取callback的方法
Jul 18 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
Python reduce()函数的用法小结
Nov 15 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
python删除某个字符
Mar 19 Python
python3实现基于用户的协同过滤
May 31 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
python入门之井字棋小游戏
Mar 05 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Python 可迭代对象 iterable的具体使用
Aug 07 Python
Django路由层如何获取正确的url
Jul 15 #Python
Python实现排序方法常见的四种
Jul 15 #Python
手把手教你使用TensorFlow2实现RNN
一篇文章弄懂Python关键字、标识符和变量
python开发飞机大战游戏
详解Python中下划线的5种含义
Python操作CSV格式文件的方法大全
You might like
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
通过实例解析python and和or使用方法
2020/11/14 Python
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
DBA的职责都有哪些
2012/05/16 面试题
校长先进事迹材料
2014/02/01 职场文书
关于环保的建议书
2014/05/12 职场文书
2014年客房部工作总结
2014/11/22 职场文书
学子宴致辞大全
2015/07/27 职场文书