在使用代理IP前,很多人都有驗證代理IP是否有效的習慣;在使用代理IP時,經常會遇到各種問題,于是想驗證下代理IP是否有效。那么,如何驗證代理IP是否有效呢?下面以Python/ target=_blank class=infotextkey>Python為例來說明。
1、終端IP授權模式下,需要綁定使用代理的終端IP進行授權 。
import requests
import re
import time
test_url = "https://httpbin.org/ip"
api_url = "***************" #獲取站大爺代理IP的API接口地址,這里不便展示,也希望大家不要將自己的API透露給他人
proxy_ip = requests.get(api_url,headers=headers).text
proxy_list = proxy_ip.split('rn') #這里的API提取鏈接是返回的text文本格式,以rn分割獲取IP列表,還可以返回JSON,XML格式
num = 0
for proxy_id in proxy_list:
num += 1
try:
response = requests.get(test_url, headers=headers, proxies=proxies)
print(f"第{num}次請求成功")
iptest = re.findall(r'd+.d+.d+.d+', response.text)
print(iptest) #訪問成功,可以打印出獲取到該網站返回的IP
time.sleep(0.5)
except:
print(f"第{num}次請求失敗")
print(proxy_id) #打印出訪問失敗的IP和端口
2、用戶名+密碼 授權模式下,使用代理IP時需要賬密驗證
#前半部分代碼同上
num = 0
for proxy_id in proxy_list:
num += 1
proxies = {
'http': 'http://用戶名:密碼@'+proxy_id,
'https': 'http://用戶名:密碼@' + proxy_id
}
try:
response = requests.get(test_url, headers=headers, proxies=proxies)
print(f"第{num}次請求成功")
iptest = re.findall(r'd+.d+.d+.d+', response.text)
print(iptest)
time.sleep(0.5)
except:
print(f"第{num}次請求失敗")
print(proxy_id)
以上就是python怎么驗證代理IP是否有效的方法,希望對大家有所幫助,當然這里是單線程的測試,時間會比較慢,若是IP量比較多,可以多線程進行測試。