如何让feedparser发送cachecontrol头?

2024-04-19 04:16:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个在squid代理后面运行的聚合器客户机中使用python feedparser。我希望它在请求中发送一个cache-control: max-age=600头,这样我们就可以得到一个合理的最新响应。(目前,代理从缓存中返回feed,甚至在更改feed几天后,这是合理的,但还不够好。)

feedparser中似乎没有任何直接的api来实现这一点,那么最好的方法是什么?我真的不想改变来源。在

更新:有一个bug,224,请求添加任意头的方法,带有部分补丁,但尚未合并。这可能是最干净的方法。否则,我似乎需要monkeypatch urllib或feedparser。好吧。在


Tags: 方法apicache代理age客户机feed来源
2条回答

参数的语义已经改变(现在称为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补丁现在在上游合并,等待发布

相关问题 更多 >