Форум сайта python.su
Есть скрипт, который делает множество запросов к серверу по HTTPS.
Запрашиваемая страница одна и та же, только параметры разные передаются.
Используется метод HEAD
Сейчас это реализовано по простому через urllib2.
Проблема в том, что каждый такой запрос инициализирует новое HTTPS соединение и получается очень медленно.
Но насколько я знаю HTTPS позволяет создать одну сессию и общаться уже по ней быстро.
Попытался реализовать через httplib:
import urllib2, httplib
conn = httplib.HTTPSConnection("kakoitoserver.ru",443,timeout=10)
username = 'usr'
password = 'pass'
headers = {"Authorization": "Basic "+b64encode(":".join([username,password]))}
get_url = '/intresting.php?sp1='
searches=[a,b,c,..z]
for search in searches
print get_comp_exist(search)
def get_comp_exist(search,dwn=0):
global conn
global get_url, headers
conn.request("HEAD", get_url+search, None, headers)
res = conn.getresponse()
print res.getheader("content-length")
File “C:\Python27\lib\httplib.py”, line 1001, in getresponseТипа, не нравиться что используется тот же объект.
raise ResponseNotReady()
httplib.ResponseNotReady
Отредактировано (Март 4, 2011 18:15:59)
Офлайн
Типа http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10
и немного вот: http://en.wikipedia.org/wiki/Keepalive
Дальше сами думайте.
Офлайн