Я пытаюсь загрузить файлы через прокси-сервер 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)
Я уже пытался прокрутить запросы, но и это не сработало.