Python 快速驗(yàn)證代理IP是否有效的方法實(shí)現(xiàn)
有時(shí)候,我們需要用到代理IP,比如在爬蟲(chóng)的時(shí)候,但是得到了IP之后,可能不知道怎么驗(yàn)證這些IP是不是有效的,這時(shí)候我們可以使用Python攜帶該IP來(lái)模擬訪問(wèn)某一個(gè)網(wǎng)站,如果多次未成功訪問(wèn),則說(shuō)明這個(gè)代理是無(wú)效的。
代碼如下:
import requestsimport randomimport timehttp_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).textprint(response)print(’當(dāng)前IP有效’)time.sleep(2) except Exception as e:print(e.args[0])print(’當(dāng)前IP無(wú)效’)continue
運(yùn)行結(jié)果如下:
使用代理的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] 由于連接方在一段時(shí)間后沒(méi)有正確答復(fù)或連接的主機(jī)沒(méi)有反應(yīng),連接嘗試失敗。’)))當(dāng)前IP無(wú)效使用代理的IP: {’http’: ’51.158.186.242:8811’, ’https’: ’51.158.186.242:8811’}{ 'origin': '51.158.186.242'}
當(dāng)前IP有效使用代理的IP: {’http’: ’222.223.182.66:8000’, ’https’: ’222.223.182.66:8000’}{ 'origin': '139.202.62.84, 222.223.182.66'}
當(dāng)前IP有效使用代理的IP: {’http’: ’51.158.186.242:8811’, ’https’: ’51.158.186.242:8811’}{ 'origin': '51.158.186.242'}
當(dāng)前IP有效使用代理的IP: {’http’: ’51.158.186.242:8811’, ’https’: ’51.158.186.242:8811’}{ 'origin': '51.158.186.242'}
當(dāng)前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] 由于連接方在一段時(shí)間后沒(méi)有正確答復(fù)或連接的主機(jī)沒(méi)有反應(yīng),連接嘗試失敗。’)))當(dāng)前IP無(wú)效使用代理的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] 由于連接方在一段時(shí)間后沒(méi)有正確答復(fù)或連接的主機(jī)沒(méi)有反應(yīng),連接嘗試失敗。’)))當(dāng)前IP無(wú)效使用代理的IP: {’http’: ’51.158.186.242:8811’, ’https’: ’51.158.186.242:8811’}{ 'origin': '51.158.186.242'}
當(dāng)前IP有效使用代理的IP: {’http’: ’51.158.186.242:8811’, ’https’: ’51.158.186.242:8811’}{ 'origin': '51.158.186.242'}
當(dāng)前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] 由于連接方在一段時(shí)間后沒(méi)有正確答復(fù)或連接的主機(jī)沒(méi)有反應(yīng),連接嘗試失敗。’)))當(dāng)前IP無(wú)效
到此這篇關(guān)于Python 快速驗(yàn)證代理IP是否有效的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 驗(yàn)證代理IP是否有效內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP新手必備的基礎(chǔ)知識(shí)2. PHP基礎(chǔ)之生成器4——比較生成器和迭代器對(duì)象3. CentOS郵箱服務(wù)器搭建系列——SMTP服務(wù)器的構(gòu)建( Postfix )4. asp文件用什么軟件編輯5. JAVA 實(shí)現(xiàn)延遲隊(duì)列的方法6. Vue axios獲取token臨時(shí)令牌封裝案例7. js實(shí)現(xiàn)計(jì)算器功能8. JS中6個(gè)對(duì)象數(shù)組去重的方法9. 利用CSS制作3D動(dòng)畫(huà)10. 通過(guò)IEAD+Maven快速搭建SSM項(xiàng)目的過(guò)程(Spring + Spring MVC + Mybatis)

網(wǎng)公網(wǎng)安備