代码之家  ›  专栏  ›  技术社区  ›  poolie

如何让feedparser发送缓存控制头?

  •  1
  • poolie  · 技术社区  · 14 年前

    feedparser 在运行squid代理的聚合器客户端中。我要它发一封信 cache-control: max-age=600 请求中的头,以便我们得到合理的最新响应。(在代理从缓存返回feed的时候,甚至在feed更改的几天后,这是合理的,基于启发式过期,但还不够好。)

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

    更新:有个bug, 224 ,要求使用部分修补程序添加任意标头,但尚未合并。这可能是最干净的方法。否则,我似乎需要修补urllib或feedparser。哎哟。

    2 回复  |  直到 14 年前
        1
  •  2
  •   poolie    14 年前

    在我看来有两种方法:

    http://code.google.com/p/feedparser/issues/detail?id=224 待修复。我贴了一个补丁让你 extra_headers={'Cache-control': 'max-age=0'}

    2-monkeypatch在urllib2中添加一些额外的头文件,这似乎是在不改变feedparser的情况下唯一的答案。

    更好的答案非常欢迎。。。

        2
  •  2
  •   Kurt McKee    13 年前

    参数的语义发生了变化(称为 request_headers 但是feedparser-out的新版本应该支持这个用例。