CookieJar オブジェクトは保管されている Cookie オブジェクトを ひとつずつ取り出すための、イテレータ・プロトコルをサポートしています。
CookieJar は以下のようなメソッドを持っています:
request) |
ポリシーが許すようであれば (CookieJar の CookiePolicy インスタンスにある 属性のうち、rfc2965 および hide_cookie2 がそれぞれ 真と偽であるような場合)、必要に応じて Cookie2: ヘッダも追加されます。
request オブジェクト (通常は urllib2.Request インスタンス) は、 urllib2 のドキュメントに記されているように、 get_full_url(), get_host(), get_type(), unverifiable(), get_origin_req_host(), has_header(), get_header(), header_items() および add_unredirected_header() の各メソッドをサポートしている必要があります。
response, request) |
CookieJar は response 引数の中から 許可されている Set-Cookie: および Set-Cookie2: ヘッダを 探しだし、適切に (CookiePolicy.set_ok() メソッドの承認におうじて) クッキーを保管します。
response オブジェクト (通常は urllib2.urlopen() あるいは それに類似する呼び出しによって得られます) は info() メソッドを サポートしている必要があります。これは getallmatchingheaders() メソッドのある オブジェクト (通常は mimetools.Message インスタンス) を返すものです。
request オブジェクト (通常は urllib2.Request インスタンス) は urllib2 のドキュメントに記されているように、 get_full_url(), get_host(), unverifiable() および get_origin_req_host() の各メソッドをサポートしている必要があります。 この request はそのクッキーの保存が許可されているかを検査するとともに、 クッキー属性のデフォルト値を設定するのに使われます。
policy) |
response, request) |
response および request 引数で要求されるインスタンスについては、 extract_cookies の説明を参照してください。
cookie, request) |
cookie) |
[domain[, path[, name]]]) |
引数なしで呼ばれた場合は、すべてのクッキーを消去します。 引数がひとつ与えられた場合、その domain に属するクッキーのみを消去します。 ふたつの引数が与えられた場合、指定された domain と URL path に 属するクッキーのみを消去します。引数が 3つ与えられた場合、 domain, path および name で指定されるクッキーが消去されます。
与えられた条件に一致するクッキーがない場合は KeyError を発生させます。
) |
保存されているクッキーのうち、discard 属性が真になっているもの
すべてを消去します (通常これは max-age
または expires
の
どちらのクッキー属性もないか、あるいは明示的に discard
クッキー属性が
指定されているものです)。対話的なブラウザの場合、セッションの終了は
ふつうブラウザのウィンドウを閉じることに相当します。
注意: ignore_discard 引数に真を指定しないかぎり、 save() メソッドはセッションクッキーは保存しません。
さらに FileCookieJar は以下のようなメソッドを実装しています:
filename=None, ignore_discard=False, ignore_expires=False) |
この基底クラスは NotImplementedError を発生させます。 サブクラスはこのメソッドを実装しないままにしておいてもかまいません。
filename はクッキーを保存するファイルの名前です。 filename が指定されない場合、 self.filename が使用されます (このデフォルト値は、それが存在する場合は、コンストラクタに渡されています)。 self.filename も None の場合は ValueError が発生します。
ignore_discard: 破棄されるよう指示されていたクッキーでも保存します。 ignore_expires: 期限の切れたクッキーでも保存します。
ここで指定されたファイルがもしすでに存在する場合は上書きされるため、 以前にあったクッキーはすべて消去されます。保存したクッキーはあとで load() または revert() メソッドを使って復元することができます。
filename=None, ignore_discard=False, ignore_expires=False) |
それまでのクッキーは新しいものに上書きされない限り残ります。
ここでの引数の値は save() と同じです。
名前のついたファイルはこのクラスがわかるやり方で指定する必要があります。 さもないと LoadError が発生します。 さらに、例えばファイルが存在しないような時に IOError が 発生する場合があります。 注意: (IOErrorを発行する)Python 2.4との 後方互換性のために、LoadErrorは IOErrorのサブクラス です。
filename=None, ignore_discard=False, ignore_expires=False) |
revert() は load() と同じ例外を発生させる事ができます。 失敗した場合、オブジェクトの状態は変更されません。
FileCookieJar インスタンスは以下のような公開の属性をもっています:
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。