Python 快速驗證代理IP是否有效的方法實現
有時候,我們需要用到代理IP,比如在爬蟲的時候,但是得到了IP之后,可能不知道怎么驗證這些IP是不是有效的,這時候我們可以使用Python攜帶該IP來模擬訪問某一個網站,如果多次未成功訪問,則說明這個代理是無效的。
代碼如下:
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(’當前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是否有效內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. .NET SkiaSharp 生成二維碼驗證碼及指定區域截取方法實現2. ASP.NET MVC通過勾選checkbox更改select的內容3. Django使用HTTP協議向服務器傳參方式小結4. HTTP協議常用的請求頭和響應頭響應詳解說明(學習)5. CentOS郵件服務器搭建系列—— POP / IMAP 服務器的構建( Dovecot )6. IntelliJ IDEA創建web項目的方法7. ASP中實現字符部位類似.NET里String對象的PadLeft和PadRight函數8. .NET 6實現滑動驗證碼的示例詳解9. 存儲于xml中需要的HTML轉義代碼10. 原生JS實現記憶翻牌游戲
