3

我想知道实时获取 RSS 提要的最佳方式是什么,而无需下载整个提要,即使它没有更改。我真的不介意语言,我只是在寻找最好的方法来做到这一点。

4

1 回答 1

2

您可以使用HTTP 标头参数ETag和标头。If-Modified-Since

这是一个示例python代码:

etag = ... # etag of previous request
last_modifier = ... # time of last request

req = urllib2.Request(url)
if etag:
    req.add_header("If-None-Match", etag)

if last_modified:
    req.add_header("If-Modified-Since", last_modified)

opener = urllib2.build_opener(NotModifiedHandler())
url_handle = opener.open(req)
headers = url_handle.info()

if hasattr(url_handle, 'code') and url_handle.code == 304:
    # no change happened
else:
    # RSS Feed has changed

代码可以转换为任何语言,您只需添加必要的标题标签并检查返回的代码。

更新:查看此博客条目:RSS 黑客的 HTTP Conditional GET

于 2009-10-12T19:24:31.143 回答