読者です 読者をやめる 読者になる 読者になる

httplib2のキャッシュ機能

Python

キャッシュ機能があるという理由で今後わりと使うことが増えそうなhttplib2を試してみました。

httplib2
http://code.google.com/p/httplib2/


インストールは例によってeasy_installで。

$ sudo easy_install httplib2


認証関連の処理もしっかりしているようですが、とりあえずはキャッシュ機能だけを試してみます。

>>> from httplib2 import Http
>>> conn = Http('/tmp/cache')
>>> headers, body = conn.request('http://www.apple.com/', 'GET')


Httpオブジェクトのコンストラクタでキャッシュファイルを置くディレクトリを指定します。指定したディレクトリがなければ、httplib2が作成しようとします。
上の例に使ったアップルのサイトの場合、レスポンスヘッダーのCache-Controlにmax-age=600を指定していたため、一応キャッシュを使うことができました。キャッシュの有効期限については、まだ詳しく調べていません。
レスポンスヘッダーにCache-Controlが指定されていないと、キャッシュファイルが作られるにも関わらず、キャッシュは使われないようなので、この点は注意が必要です。