как заставить feedparser отправлять заголовок кеш-контроля? - PullRequest
1 голос
/ 02 сентября 2010

Я использую python feedparser в клиенте агрегатора, который работает за прокси-сервером squid.Я хочу, чтобы он отправил заголовок cache-control: max-age=600 в запросе, чтобы мы получили достаточно актуальный ответ.(В настоящее время каналы возвращаются прокси-сервером из своего кэша, даже через несколько дней после их изменения, что является разумным основанием для истечения срока действия эвристики, но недостаточно хорошим.)в feedparser сделать это так, как лучше?Я действительно не хочу менять источник.

обновление: есть ошибка, 224 , запрашивающая способ добавить произвольные заголовки с частичными исправлениями, но еще не объединены.Это, наверное, самый чистый способ.В противном случае кажется, что мне нужно monkeypatch либо urllib или feedparser.Ик.

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Семантика аргумента изменилась (теперь она называется request_headers), но есть новая версия feedparser, которая должна поддерживать этот вариант использования.

1 голос
/ 02 сентября 2010

Мне кажется, есть два пути:

1 - дождаться исправления http://code.google.com/p/feedparser/issues/detail?id=224. Я установил патч, который позволяет вам отправить extra_headers={'Cache-control': 'max-age=0'}, и мы посмотрим, примут ли они его.

2 - monkeypatch в urllib2 для добавления дополнительных заголовков к запросу, который, кажется, единственный ответ без изменения feedparser.

Лучшие ответы очень приветствуются ...

обновление 2010-10-29 * Патч 1013 * теперь объединен в апстрим и ожидает релиз

...