##
5 Cookie オブジェクト

`Cookie` インスタンスは、さまざまなクッキーの標準で規定されている 標準的なクッキー属性とおおまかに対応する Python 属性をもっています。 しかしデフォルト値を決める複雑なやり方が存在しており、 また `max-age` および `expires` クッキー属性は 同じ値をもつことになっているので、また RFC 2109クッキーは `cookielib`によって version 1から version 0 (Netscape)クッキーへ 'ダウングレード' される場合があるため、 この対応は 1対 1 ではありません。

`CookiePolicy` メソッド内でのごくわずかな例外を除けば、 これらの属性に代入する必要はないはずです。このクラスは 内部の一貫性を保つようにはしていないため、代入するのは 自分のやっていることを理解している場合のみにしてください。

`version`
  整数または `None`。 Netscape クッキーは バージョン 0 であり、 RFC 2965 および RFC 2109 クッキーは バージョン 1 です。 しかし、`cookielib` は RFC 2109クッキーを Netscapeクッキー (`version`が 0)に'ダウングレード'する場合がある事に注意して下さい。

`name`
  クッキーの名前 (文字列)。

`value`
  クッキーの値 (文字列)、あるいは `None`。

`port`
  ポートあるいはポートの集合をあらわす文字列 (例: '80' または '80,8080')、 あるいは `None`。

`path`
  クッキーのパス名 (文字列、例:`'/acme/rocket_launchers'`)。

`secure`
  そのクッキーを返せるのが安全な接続のみならば真を返します。

`expires`
  クッキーの期限が切れる日時をあわらす整数 (エポックから経過した秒数)、 あるいは `None`。`is_expired()` も参照してください。

`discard`
  これがセッションクッキーであれば真を返します。

`comment`
  このクッキーの働きを説明する、サーバからのコメント文字列、 あるいは `None`。

`comment_url`
  このクッキーの働きを説明する、サーバからのコメントのリンク URL、 あるいは `None`。

`rfc2109`
  RFC 2109クッキー(即ち Set-Cookie:ヘッダにあり、 かつVersion cookie属性の値が1のクッキー)の場合、Trueを返します。 `cookielib`が RFC 2109クッキーを Netscapeクッキー (`version` が 0)に'ダウングレード'する場合があるので、 この属性が提供されています。 バージョン 2.5 で 新たに追加 された仕様です。

`port_specified`
  サーバがポート、あるいはポートの集合を (Set-Cookie: / Set-Cookie2: ヘッダ内で) 明示的に指定していれば真を返します。

`domain_specified`
  サーバがドメインを明示的に指定していれば真を返します。

`domain_initial_dot`
  サーバが明示的に指定したドメインが、ドット (`'.'`) で始まっていれば真を返します。

クッキーは、オプションとして標準的でないクッキー属性を持つこともできます。 これらは以下のメソッドでアクセスできます:

`has_nonstandard_attr`( | name)

  そのクッキーが指定された名前のクッキー属性をもっている場合には真を返します。

`get_nonstandard_attr`( | name, default=`None`)

  クッキーが指定された名前のクッキー属性をもっていれば、その値を返します。 そうでない場合は default を返します。

`set_nonstandard_attr`( | name, value)

  指定された名前のクッキー属性を設定します。

`Cookie` クラスは以下のメソッドも定義しています:

`is_expired`( | [now=`None`])

  サーバが指定した、クッキーの期限が切れるべき時が過ぎていれば真を返します。 now が指定されているときは (エポックから経過した秒数です)、 そのクッキーが指定された時間において期限切れになっているかどうかを判定します。