2021-02-20
如何判断代理ip是否能用?
一般我们想要快速验证代理IP是否可用,只能使用VBA或者python3.7,如果在我们不知道协议、账号和密码的情况下,只能测试连接是否可用了。仅需要一段代码就可以实现了,大家感兴趣的不妨跟着小编一起尝试下!第一步、准备好ip地址第二步、验证是否可用from concurrent.futures import ThreadPoolExecutor, as_completed
import socket
def try_connection(ip_port):
s = socket.socket()
s.settimeout(5)
try:
s.connect(ip_port)
except socket.timeout as e:
info = ip_port[0] + ':' + str(ip_port[1]) + ' 超时'
except socket.error as e:
info = ip_port[0] + ':' + str(ip_port[1]) + ' ' + str(e)
else:
info = ip_port[0] + ':' + str(ip_port[1]) + ' 可用'
finally:
s.close()
return info
executor = ThreadPoolExecutor(max_workers=10)
with open('server.txt','r') as fin, open('connection.txt','w') as fout:
servers = []
for addr in fin:
ip, port = addr.split(':')
port = int(port)
servers.append((ip, port))
for result in executor.map(try_connection, servers):
print(result)
fout.write(result + '\n')第三步、验证结果输出以上内容就可以帮助我们验证了,但是需要注意的是虽然有些地址显示可用,但是速度不敢恭维,大家可以继续探索可以只将优质的IP地址,即链接速度大于某一定值的才显示为可用。希望本章内容可以帮助大家学习~