Найти - Пользователи
Полная версия: urllib не хочет работать с прокси
Начало » Web » urllib не хочет работать с прокси
1
Игнат
есть валидная хттп-прокси - 222.77.14.55:8088 - через браузер работает хорошо

при попытке скачать через неё myip.yandex.ru, urllib падает на этом:

    raise HTTPError((statuscode, statusline[2]))
socks.HTTPError: (502, b'Proxy Error ( The specified Secure Sockets Layer (SSL) port is not allowed. ISA Server is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests. )')
вот примерный код:
#класс
request = urllib.request.Request(url)
hnds = [urllib.request.HTTPCookieProcessor(self.cookie_jar)]

if self.proxy:
if self.proxy_isSocks:
type = SocksHandler.PROXY_TYPE_SOCKS5
else:
type = SocksHandler.PROXY_TYPE_HTTP

usr = ''
passw = ''
if self.proxy_auth:
usr, passw = self.proxy_auth.split(':')

proxy_hnd = SocksHandler.SocksHandler(type,
self.proxy, int(self.proxy_port), username=usr, password=passw)
hnds.append(proxy_hnd)

opener = urllib.request.build_opener(*hnds) # добавляем хэндлеры cookiejar и sockshandler
response = opener.open(request, timeout=5)

#вызов
http.set_proxy('222.77.14.55:8088', 'http')
res = http.get('http://myip.yandex.ru')
вот соксхэндлер - http://www.sendspace.com/file/w8jo54
и пример использования - http://www.sendspace.com/file/mf7z0i
socks.py - http://www.sendspace.com/file/cuyf4u

раньше у меня пример вроде нормально работал
сейчас и пример выдает всякую лажу
Игнат
народ, для меня это очень важно
готов заплатить за помощь в решении - пишите в ПМ
romis
Я использую urllib2 примерно так:

import urllib2
req = urllib2.Request("http://www.python.org/")
req.set_proxy('60.171.37.134:8080', 'http')
print urllib2.urlopen(req, timeout=115).read()
Может быть проблема в прокси.
Игнат
вроде разобрался
socksipy использует метод Connect, а его поддерживают только https-прокси
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB