- Автор темы
- #1
сем доброго времени суток.
Недавно наваял скрипт для сбора статистики. Начал прикручивать прокси, нужна поддрежка https. Сделал следующий код:
Проблема в том, что через проксю он не хочет работать. Пробывал указывать к реквесте прокси, тоже отказывается. Нашёл несколько статей что с https есть некие проблемы в питоне. Подскажите как поправить и заставить таки работать код с проксёй.
Недавно наваял скрипт для сбора статистики. Начал прикручивать прокси, нужна поддрежка https. Сделал следующий код:
Код:
baseURL = 'https://service.acc.com/login.jsp'
log_val = { "_stateParam" : "eCareLocale.currentLocale=ru_RU__Russian",
"_forwardName" : "null",
"_resetBreadCrumbs" : "False",
"userName" : number,
"password" : password,
"Action" : "login"
}
log_data = urllib.urlencode(log_val)
Request = urllib2.Request
prx_jar = cookielib.CookieJar()
if (self.proxy is not None):
rpchk = self._quickcheck()
if (rpchk == True):
wproxy = urllib2.ProxyHandler({'https': proxy})
prx_opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(prx_jar), wproxy)
else:
prx_opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(prx_jar))
else:
prx_opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(prx_jar))
prx_opener.addheaders = zip(req_hdr.keys(), req_hdr.values())
req = Request(baseURL,log_data,{'Referer': 'https://service.acc.com/', 'Content-Type':'application/x-www-form-urlencoded', 'Content-Length': len(log_data)})
try:
webdt = prx_opener.open(req)
except urllib2.URLError, e:
maxretr=-1
return
except urllib2.HTTPError, e:
maxretr=-1
return
chkgzip = False
for fields in webdt.info().keys():
if fields.lower() == 'content-encoding':
cntenc = fields
chkgzip = True
if (chkgzip ==True) and (webdt.info()[cntenc].lower() == 'gzip'):
gzdata = StringIO.StringIO(webdt.read())
gzipper = gzip.GzipFile(fileobj=gzdata)
webdt_t = gzipper.read()
else:
webdt_t = webdt.read()