Как правильно проверить socks5 прокси - PullRequest
0 голосов
/ 07 октября 2018

Здравствуйте, сегодня я разместил несколько прокси-серверов Socks5 на форуме, и кто-то пошел со мной на обсуждение и сказал, что многие прокси-серверы «соединяют» прокси-серверы и прокси-серверы 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 года, и он первый из тысяч, кто пожаловался на это.

1 Ответ

0 голосов
/ 07 октября 2018

Прокси теоретически может обрабатывать socks4, socks5 и connect (то есть HTTP-прокси) одновременно и на одном и том же порту, что означает, что вы оба можете быть правы.Со всеми этими протоколами клиент отправляет первое сообщение, и эти сообщения значительно различаются между socks4, socks5 и connect.Таким образом, прокси может решить на основе этого первого сообщения, какой протокол запрашивает клиент.И хотя я не знаю ни одного прокси-сервера, который обрабатывает все три протокола на одном и том же порту, по крайней мере, принято обрабатывать как socks4, так и socks5 на одном и том же порту одним прокси.

...