如何正确检查 socks5 代理
How to properly checks socks5 proxies
你好,今天我在论坛上发布了一些 Socks5 代理,有人和我讨论过,说很多代理 "connect" 代理和 socks4 代理,但我不认为我的代码正在检查任何 socks4 代理:
def process(self, task):
global alive
global dead
global tested
proxy = task
ip,port = proxy.split(":")
socket.setdefaulttimeout(timeout_value)
log_msg = str("Trying Socks5 proxy%21s " % proxy)
socks.set_default_proxy(socks.SOCKS5, ip, int(port))
socket.socket = socks.socksocket
try:
t1 = time.time()
response = requests.get(test_url, timeout=timeout_value)
tested += 1
t2 = time.time()
except Exception as e:
log_msg += "%s " % fail_msg
print(Fore.LIGHTRED_EX + log_msg + " " + str(tested))
dead += 1
tested += 1
return None
if "Connection working" in response.text:
log_msg += ok_msg + "Response time: %d" % (int((t2-t1)*1000))
print(Fore.LIGHTGREEN_EX + log_msg)
text_file = open(out_filename, "a")
text_file.write(proxy + "\r\n")
text_file.close()
alive += 1
return proxy
else:
log_msg += "%s " % fail_msg
print(Fore.LIGHTRED_EX + log_msg + " " + str(tested))
dead += 1
tested += 1
return None
我不知道我做错了什么,那个人说他自 2002 年以来一直在检查代理,他是成千上万的人中第一个抱怨的人。
理论上,代理可以同时在同一端口上处理 socks4、socks5 和连接(即 HTTP 代理),这意味着你们俩可能都是对的。对于所有这些协议,客户端发送第一条消息,这些消息在 socks4、socks5 和 connect 之间有很大不同。因此,代理可以根据第一条消息来决定客户端请求哪种协议。而且,虽然我不知道有任何代理可以在同一端口上处理所有三种协议,但至少常见的是通过同一代理在同一端口上处理 socks4 和 socks5。
你好,今天我在论坛上发布了一些 Socks5 代理,有人和我讨论过,说很多代理 "connect" 代理和 socks4 代理,但我不认为我的代码正在检查任何 socks4 代理:
def process(self, task):
global alive
global dead
global tested
proxy = task
ip,port = proxy.split(":")
socket.setdefaulttimeout(timeout_value)
log_msg = str("Trying Socks5 proxy%21s " % proxy)
socks.set_default_proxy(socks.SOCKS5, ip, int(port))
socket.socket = socks.socksocket
try:
t1 = time.time()
response = requests.get(test_url, timeout=timeout_value)
tested += 1
t2 = time.time()
except Exception as e:
log_msg += "%s " % fail_msg
print(Fore.LIGHTRED_EX + log_msg + " " + str(tested))
dead += 1
tested += 1
return None
if "Connection working" in response.text:
log_msg += ok_msg + "Response time: %d" % (int((t2-t1)*1000))
print(Fore.LIGHTGREEN_EX + log_msg)
text_file = open(out_filename, "a")
text_file.write(proxy + "\r\n")
text_file.close()
alive += 1
return proxy
else:
log_msg += "%s " % fail_msg
print(Fore.LIGHTRED_EX + log_msg + " " + str(tested))
dead += 1
tested += 1
return None
我不知道我做错了什么,那个人说他自 2002 年以来一直在检查代理,他是成千上万的人中第一个抱怨的人。
理论上,代理可以同时在同一端口上处理 socks4、socks5 和连接(即 HTTP 代理),这意味着你们俩可能都是对的。对于所有这些协议,客户端发送第一条消息,这些消息在 socks4、socks5 和 connect 之间有很大不同。因此,代理可以根据第一条消息来决定客户端请求哪种协议。而且,虽然我不知道有任何代理可以在同一端口上处理所有三种协议,但至少常见的是通过同一代理在同一端口上处理 socks4 和 socks5。