RSS阅读器 - 如何在一定时间内仅获取更新?

时间:2012-06-06 20:43:02

标签: rss rss-reader

如何从RSS Feed中仅获取自上次获取的更新?我见过的各种代码片段似乎是定期轮询网址。但这非常依赖于:

  1. 在轮询间隔期间Feed非常活跃,
  2. 服务器返回的项目数量作为其策略。
  3. 这会导致不经常轮询丢失某些项目,过于频繁地轮询并增加带宽成本,或两者兼而有之。

    我正在考虑的Feed似乎也将Last-modified更新为当前时间,这不是很有帮助。

    是否有一些API元素允许这样的东西?

    由于

1 个答案:

答案 0 :(得分:0)

除非您正在ping的输入允许您发送截止日期的参数,否则在上次轮询后添加新项目时无法可靠地计算出来,而无需再次下载Feed。

您回到开始定期轮询的位置,看看有哪些新项目存在。

然后,如果它与上次不同,您可以hash the feed to check,如果新项目相同,则跳过检查。或者你可以检查它的缓存标题,但是你必须假设服务器正确地发回它和/或你还没有回到像Last-Modified标签一样根本不可靠的情况