| name, value[, attributes]) |
このクラスはname という名前を持ち、value を値に持つ 単一のクッキーを生成するために使います。加えて、Netscape の仕様と RFC2109 で定義されている属性もキーワード引数で渡せます。
オブジェクトの属性はクッキーの属性を表しており、その文字列表記は
クッキーの文字列表記の一部になります。
Cookie クラスは属性名を有効なものだけに制限していて、実際には
name, value, version, path, domain, secure, comment,
expires, max_age, commentURL, discard, port, __data__
だけが許されています。
__data__ 属性は汎用の辞書で、必要に応じて任意の値を入れられます
(Cookie をサブクラス化する場合に便利です)。
expires 属性の値は、設定時に"Wdy, DD-Mon-YYYY HH:MM:SS GMT" の
形式 (Netscape のクッキー仕様で定義されている形式) またはエポックからの経過秒数
(この値は自動的に GMT における正しい時刻文字列に変換されます) のいずれかに
なっているかチェックを受けます。不正な expire 値を指定すると
ValueError を送出します。
Cookie オブジェクトを文字列に変換すると、"Cookie" や "Set-Cookie" ヘッダの値として使える正しい形式の文字列になります。
| string) |
このメソッドはクラスメソッドなので、クラス名を明示的に指定して呼び出さねば なりません。
このメソッドは単一のCookie インスタンスではなくCookie インスタンスの入った辞書を返します。
単一のCookie インスタンスをクッキー表現文字列から取り出す例を 以下に示します:
mycookies = Cookie.parse("spam=eggs; expires=Sat, 14-Jun-2003 02:42:36 GMT")
spamcookie = mycookies["spam"]
| name, value, secret[, attributes]) |
Cookie のサブクラスです。このクラスで生成されるクッキーの名前と 値は、secret に指定した暗号鍵を使って自動的に署名されます。 secret を空文字列にしてはなりません。
| string, secret) |
# assume spam is supposed to be a signed cookie
if type(spam) is not Cookie.SignedCookie:
# do something that indicates cookie isn't signed correctly
| name, value, secret[, attributes]) |
SignedCookie のサブクラスです。このクラスを使うとvalue を任意の整列化(marshal)可能なオブジェクトにできます。文字列、整数、リスト などといったコアの Python データ型は全て整列化できます。 整列化できるオブジェクトの完全なリストは marshalモジュールのドキュメントを参照してください。
クッキー解析時、まず署名をチェックします。従って、正しく署名されていないクッキーは 整列化状態から戻せません。