def _connect(self):
global _server_ip, _proxy_ip
host = _server_ip.get_server_ip(self.whois_srv) # ?????
host = host if host else self.whois_srv
if flag_proxy:
proxy_info = _proxy_ip.get(self.whois_srv) # ??IP
if proxy_info is not None:
socks.setdefaultproxy(
proxytype=socks.PROXY_TYPE_SOCKS4 if proxy_info.mode == 4 else socks.PROXY_TYPE_SOCKS5,
addr=proxy_info.ip,
port=proxy_info.port)
socket.socket = socks.socksocket
self.tcpCliSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.setdefaulttimeout(20)
data_result = ""
try:
self.tcpCliSock.connect((host, 43))
self.tcpCliSock.send(self.request_data + '\r\n')
except socket.error as e:
if str(e).find("timed out") != -1: # ????
return "ERROR -1"
elif str(e).find("Temporary failure in name resolution") != -1:
return "ERROR -2"
else:
return "ERROR OTHER"
while True:
try:
data_rcv = self.tcpCliSock.recv(1024)
except socket.error as e:
return "ERROR -3"
if not len(data_rcv):
return data_result # ??????
data_result = data_result + data_rcv # ????????
评论列表
文章目录