If-Modified-Since付きのGET
Pythonでダウンロードをするとき、If-Modified-Sinceを付けてGETしようとしていろいろ悩んだメモ
import urllib2 req = urllib2.Request('http://example.com/') req.add_header('If-Modified-Since', "HTTP日付") try: foo = urllib2.urlopen(req) print foo.code except urllib2.HTTPError, e: print e.code
これで指定した日付以降に更新があれば、ステータスコードの200が
無ければ304が表示されました
HTTP日付についてはhttp://www.studyinghttp.net/header#HTTP-Dateを参考に
前にGETしたLast-Modifiedフィールドの内容を突っ込めばいいのかな
本当はこういうふうに例外処理で扱うよりも
http://www.diveintopython.org/http_web_services/etags.html
で説明されているように、ハンドラを渡した方がいいやり方なのかな?