11.20.5 Cookie Objects

##
11.20.5 Cookie Objects

`Cookie` instances have Python attributes roughly corresponding to the standard cookie-attributes specified in the various cookie standards. The correspondence is not one-to-one, because there are complicated rules for assigning default values, and because the `max-age` and `expires` cookie-attributes contain equivalent information.

Assignment to these attributes should not be necessary other than in rare circumstances in a `CookiePolicy` method. The class does not enforce internal consistency, so you should know what you're doing if you do that.

`version`
  Integer or `None`. Netscape cookies have version 0. RFC 2965 and RFC 2109 cookies have version 1.

`name`
  Cookie name (a string).

`value`
  Cookie value (a string), or `None`.

`port`
  String representing a port or a set of ports (eg. '80', or '80,8080'), or `None`.

`path`
  Cookie path (a string, eg. `'/acme/rocket_launchers'`).

`secure`
  True if cookie should only be returned over a secure connection.

`expires`
  Integer expiry date in seconds since epoch, or `None`. See also the `is_expired()` method.

`discard`
  True if this is a session cookie.

`comment`
  String comment from the server explaining the function of this cookie, or `None`.

`comment_url`
  URL linking to a comment from the server explaining the function of this cookie, or `None`.

`port_specified`
  True if a port or set of ports was explicitly specified by the server (in the Set-Cookie: / Set-Cookie2: header).

`domain_specified`
  True if a domain was explicitly specified by the server.

`domain_initial_dot`
  True if the domain explicitly specified by the server began with a dot (`'.'`).

Cookies may have additional non-standard cookie-attributes. These may be accessed using the following methods:

`has_nonstandard_attr`( | name)

  Return true if cookie has the named cookie-attribute.

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

  If cookie has the named cookie-attribute, return its value. Otherwise, return default.

`set_nonstandard_attr`( | name, value)

  Set the value of the named cookie-attribute.

The `Cookie` class also defines the following method:

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

  True if cookie has passed the time at which the server requested it should expire. If now is given (in seconds since the epoch), return whether the cookie has expired at the specified time.