CookiePolicy インターフェイスを実装するオブジェクトは 以下のようなメソッドを持っています:
cookie, request) |
cookie は cookielib.Cookie インスタンスです。 request は CookieJar.extract_cookies() の説明で定義されているインターフェイスを 実装するオブジェクトです。
cookie, request) |
cookie は cookielib.Cookie インスタンスです。 request は CookieJar.add_cookie_header() の説明で定義されているインターフェイスを 実装するオブジェクトです。
domain, request) |
このメソッドは高速化のためのものです。これにより、すべてのクッキーをある特定の ドメインに対してチェックする (これには多数のファイル読みこみを伴なう場合があります) 必要がなくなります。 domain_return_ok() および path_return_ok() の 両方から true が返された場合、すべての決定は return_ok() に委ねられます。
もし、このクッキードメインに対して domain_return_ok() が true を返すと、 つぎにそのクッキーのパス名に対して path_return_ok() が呼ばれます。 そうでない場合、そのクッキードメインに対する path_return_ok() および return_ok() は決して呼ばれることはありません。path_return_ok() が true を返すと、 return_ok() がその Cookie オブジェクト自身の全チェックのために 呼ばれます。そうでない場合、そのクッキーパス名に対する return_ok() は 決して呼ばれることはありません。
注意: domain_return_ok() は request ドメインだけではなく、
すべての cookie ドメインに対して呼ばれます。たとえば request ドメインが
"www.example.com"
だった場合、この関数は ".example.com"
および
"www.example.com"
の両方に対して呼ばれることがあります。
同じことは path_return_ok() にもいえます。
request 引数は return_ok() で説明されているとおりです。
path, request) |
domain_return_ok() の説明を参照してください。
上のメソッドの実装にくわえて、CookiePolicy インターフェイスの実装では 以下の属性を設定する必要があります。これはどのプロトコルがどのように使われるべきかを 示すもので、これらの属性にはすべて代入することが許されています。
もっとも有用な方法は、DefaultCookiePolicy をサブクラス化した CookiePolicy クラスを定義して、いくつか (あるいはすべて) の メソッドをオーバーライドすることでしょう。CookiePolicy 自体は どのようなクッキーも受け入れて設定を許可する「ポリシー無し」ポリシーとして 使うこともできます (これが役に立つことはあまりありませんが)。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。