Найти - Пользователи
Полная версия: Множественные запросы в одной HTTPS сессии
Начало » Web » Множественные запросы в одной HTTPS сессии
1
ASY32
Есть скрипт, который делает множество запросов к серверу по 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")
Проблемы:
1)Я не уверен, что этот код реализует одну сессию и много запросов в ней. Так как скорость не сильно возросла.

2)Очень часто вылетает ошибка:
File “C:\Python27\lib\httplib.py”, line 1001, in getresponse
raise ResponseNotReady()
httplib.ResponseNotReady
Типа, не нравиться что используется тот же объект.
Андрей Светлов
Типа http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.10
и немного вот: http://en.wikipedia.org/wiki/Keepalive
Дальше сами думайте.
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