Как предотвратить python urllib3 от кеширования ответа - PullRequest
3 голосов
/ 30 марта 2012

Я опрашиваю один и тот же URL несколько раз подряд с помощью urllib3. Я профилировал запросы и получаю заголовок:

Cache-Control: без преобразования, максимальный возраст = 120

По запросам после первого я получаю кэшированную версию страницы, а не повторяющийся запрос. У меня нет контроля над заголовками, возвращаемыми с сервера, как я могу предотвратить кэширование?

Я нахожусь на Debian Squeeze и на нем запущен python 2.6.6

pool = urllib3.HTTPConnectionPool('itunes.apple.com')
request = pool.request('GET', '/webObjects/MZStore.woa/wa/viewTop?
                       selected_tab_index=0&startIndex=0&genreId=36', 
                       headers = {'Host': 'itunes.apple.com', 
                       'Accept-Encoding': 'gzip, deflate', 'X-Apple-Tz': -18000, 
                       'X-Apple-Store-Front': '143441-1,2')

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

У urllib3 нет встроенного кэширования. Вы уверены, что сервер не отвечает с кэшированными результатами?

2 голосов
/ 30 марта 2012

Попробуйте добавить следующие заголовки:

Cache-Control: без кэширования

Прагма: без кэширования

Истекает: чт, 1 января 1970 00:00:00 GMT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...