我在一个在squid代理后面运行的聚合器客户机中使用python feedparser。我希望它在请求中发送一个cache-control: max-age=600
头,这样我们就可以得到一个合理的最新响应。(目前,代理从缓存中返回feed,甚至在更改feed几天后,这是合理的,但还不够好。)
feedparser中似乎没有任何直接的api来实现这一点,那么最好的方法是什么?我真的不想改变来源。在
更新:有一个bug,224,请求添加任意头的方法,带有部分补丁,但尚未合并。这可能是最干净的方法。否则,我似乎需要monkeypatch urllib或feedparser。好吧。在
参数的语义已经改变(现在称为
request_headers
),但是feedparser out的新版本应该支持这个用例。在在我看来有两种方法:
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补丁现在在上游合并,等待发布
相关问题 更多 >
编程相关推荐