我正在制作一个脚本,它读取一个充满代理服务器的文件并检查它们是否正常运行。在
import socket
proxyFile = open("proxies.txt","r");
lines = proxyFile.readlines();
class Colors:
none = "\033[0m";
red = "\033[31m";
green = "\033[32m";
yellow = "\033[33m";
blue = "\033[34m";
purple = "\033[35m";
cyan = "\033[36m";
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM);
sock.settimeout(3);
for line in lines:
line = line.replace(":"," : ");
reader = line.split();
ip = reader[reader.index(":") - 1];
port = int(reader[reader.index(":") + 1]);
try:
sock.connect((ip,port));
print Colors.cyan + ip + ":" + str(port) + Colors.none + " is " + Colors.green + "UP";
sock.close();
except socket.timeout:
print Colors.cyan + ip + Colors.yellow + ":" + Colors.cyan + str(port) + Colors.none + " is " + Colors.red + "DOWN";
看起来文件读得很好,套接字创建了,但它只连接到一个服务器,然后给出错误。在
代理文件:
^{pr2}$
你不能是一个套接字。一旦接通,就接通了。即使您调用^{} :
正确的答案是每次通过循环创建一个新的套接字,无论是使用^{} 还是使用^{} 和
connect
。例如,将try
块更改为:相关问题 更多 >
编程相关推荐