在使用代理IP前,很多人都有验证代理IP是否有效的习惯;在使用代理IP时,经常会遇到各种问题,于是想验证下代理IP是否有效。那么,如何验证代理IP是否有效呢?下面以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量比较多,可以多线程进行测试。