【问题标题】:How to properly checks socks5 proxies如何正确检查 socks5 代理
【发布时间】:2019-03-12 10:44:58
【问题描述】:

您好,今天我在论坛上发布了一些 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 年以来一直在检查代理,他是成千上万抱怨它的人中的第一个。

【问题讨论】:

    标签: python-3.x sockets proxy socks proxies


    【解决方案1】:

    理论上,代理可以在同一端口上同时处理 socks4、socks5 和连接(即 HTTP 代理),这意味着你们俩可能都是对的。使用所有这些协议,客户端发送第一条消息,这些消息在 socks4、socks5 和 connect 之间存在显着差异。因此,代理可以根据第一条消息来决定客户端请求哪种协议。而且,虽然我不知道有任何代理可以在同一端口上处理所有三种协议,但至少可以通过同一代理在同一端口同时处理 socks4 和 socks5。

    【讨论】:

    • 我就是这么想的
    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 2020-03-23
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多