Запрашиваемая страница одна и та же, только параметры разные передаются.
Используется метод 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