Не удается завершить соединение SOCKS5 с 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0000: 0 - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь загрузить файлы через прокси-сервер socks5 с помощью следующего метода в контейнере Docker:

    def requests_get(url):
        buffer = io.BytesIO()
        try:
            c = pycurl.Curl()
            c.setopt(c.URL, url)
            c.setopt(pycurl.USERAGENT, random.choice(uas))
            c.setopt(pycurl.FOLLOWLOCATION, True)
            c.setopt(pycurl.HEADER, True)
            c.setopt(pycurl.VERBOSE, False)
            c.setopt(pycurl.PROXY, random.choice(proxy_IPS))
            c.setopt(pycurl.PROXYUSERPWD, "{}:{}".format(proxy_usr, proxy_psw) )
            c.setopt(pycurl.PROXYPORT, 1080)
            c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5_HOSTNAME)
            c.setopt(pycurl.SSL_VERIFYPEER, False)
            c.setopt(pycurl.SSL_VERIFYHOST, False)
            c.setopt(pycurl.COOKIEFILE, "")
            c.setopt(c.WRITEDATA, buffer)
            c.perform()
            c.close()
            return dict(
                text = buffer.read(),
                status_code = c.getinfo(pycurl.HTTP_CODE)
            )
        except Exception as ex:
            print (ex)
            return dict(text='', status_code=599)

Хотя в php это не создает проблем, в python это возвращает следующее исключение.

Can't complete SOCKS5 connection to 0000:0000:0000:0000:0000:0000:0000:0000:0. (2)

Я уже пытался прокрутить запросы, но и это не сработало.

...