3

RSS フィードが変更されていない場合でも、フィード全体をダウンロードする必要なく、RSS フィードをリアルタイムで取得する最良の方法を知りたいです。言語はあまり気にしません。それを行うための最良の方法を探しているだけです。

4

1 に答える 1

2

header 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 条件付き GET

于 2009-10-12T19:24:31.143 に答える