Soup.Cookie¶
Fields¶
| Name | Type | Access | Description |
|---|---|---|---|
| domain | str |
r/w | the “domain” attribute, or else the hostname that the cookie came from. |
| expires | Soup.Date |
r/w | the cookie expiration time, or None for a session cookie |
| http_only | bool |
r/w | True if the cookie should not be exposed to scripts |
| name | str |
r/w | the cookie name |
| path | str |
r/w | the “path” attribute, or None |
| secure | bool |
r/w | True if the cookie should only be tranferred over SSL |
| value | str |
r/w | the cookie value |
Methods¶
| class | new (name, value, domain, path, max_age) |
| class | parse (header, origin) |
applies_to_uri (uri) |
|
copy () |
|
domain_matches (host) |
|
equal (cookie2) |
|
free () |
|
get_domain () |
|
get_expires () |
|
get_http_only () |
|
get_name () |
|
get_path () |
|
get_same_site_policy () |
|
get_secure () |
|
get_value () |
|
set_domain (domain) |
|
set_expires (expires) |
|
set_http_only (http_only) |
|
set_max_age (max_age) |
|
set_name (name) |
|
set_path (path) |
|
set_same_site_policy (policy) |
|
set_secure (secure) |
|
set_value (value) |
|
to_cookie_header () |
|
to_set_cookie_header () |
Details¶
-
class
Soup.Cookie¶ An HTTP cookie.
name and value will be set for all cookies. If the cookie is generated from a string that appears to have no name, then name will be the empty string.
domain and path give the host or domain, and path within that host/domain, to restrict this cookie to. If domain starts with “.”, that indicates a domain (which matches the string after the “.”, or any hostname that has domain as a suffix). Otherwise, it is a hostname and must match exactly.
expires will be non-
Noneif the cookie uses either the original “expires” attribute, or the newer “max-age” attribute. If expires isNone, it indicates that neither “expires” nor “max-age” was specified, and the cookie expires at the end of the session.If http_only is set, the cookie should not be exposed to untrusted code (eg, javascript), so as to minimize the danger posed by cross-site scripting attacks.
New in version 2.24.
-
classmethod
new(name, value, domain, path, max_age)¶ Parameters: Returns: a new
Soup.Cookie.Return type: Creates a new
Soup.Cookiewith the given attributes. (UseSoup.Cookie.set_secure() andSoup.Cookie.set_http_only() if you need to set those attributes on the returned cookie.)If domain starts with “.”, that indicates a domain (which matches the string after the “.”, or any hostname that has domain as a suffix). Otherwise, it is a hostname and must match exactly.
max_age is used to set the “expires” attribute on the cookie; pass -1 to not include the attribute (indicating that the cookie expires with the current session), 0 for an already-expired cookie, or a lifetime in seconds. You can use the constants
Soup.COOKIE_MAX_AGE_ONE_HOUR,Soup.COOKIE_MAX_AGE_ONE_DAY,Soup.COOKIE_MAX_AGE_ONE_WEEKandSoup.COOKIE_MAX_AGE_ONE_YEAR(or multiples thereof) to calculate this value. (If you really care about setting the exact time that the cookie will expire, useSoup.Cookie.set_expires().)New in version 2.24.
-
classmethod
parse(header, origin)¶ Parameters: Returns: a new
Soup.Cookie, orNoneif it could not be parsed, or contained an illegal “domain” attribute for a cookie originating from origin.Return type: Soup.CookieorNoneParses header and returns a
Soup.Cookie. (If header contains multiple cookies, only the first one will be parsed.)If header does not have “path” or “domain” attributes, they will be defaulted from origin. If origin is
None, path will default to “/”, but domain will be left asNone. Note that this is not a valid state for aSoup.Cookie, and you will need to fill in some appropriate string for the domain if you want to actually make use of the cookie.New in version 2.24.
-
applies_to_uri(uri)¶ Parameters: uri ( Soup.URI) – aSoup.URIReturns: Trueif self should be sent to uri,Falseif notReturn type: boolTests if self should be sent to uri.
(At the moment, this does not check that self’s domain matches uri, because it assumes that the caller has already done that. But don’t rely on that; it may change in the future.)
New in version 2.24.
-
copy()¶ Returns: a copy of self Return type: Soup.CookieCopies self.
New in version 2.24.
-
domain_matches(host)¶ Parameters: host ( str) – a URIReturns: Trueif the domains match,FalseotherwiseReturn type: boolChecks if the self’s domain and host match in the sense that self should be sent when making a request to host, or that self should be accepted when receiving a response from host.
New in version 2.30.
-
equal(cookie2)¶ Parameters: cookie2 ( Soup.Cookie) – aSoup.CookieReturns: whether the cookies are equal. Return type: boolTests if self and cookie2 are equal.
Note that currently, this does not check that the cookie domains match. This may change in the future.
New in version 2.24.
-
free()¶ Frees self
New in version 2.24.
-
get_expires()¶ Returns: self’s expiration time, which is owned by self and should not be modified or freed. Return type: Soup.DateorNoneGets self’s expiration time.
New in version 2.32.
-
get_http_only()¶ Returns: self’s HttpOnly attribute Return type: boolGets self’s HttpOnly attribute
New in version 2.32.
-
get_same_site_policy()¶ Returns: a Soup.SameSitePolicyReturn type: Soup.SameSitePolicyNew in version 2.70.
-
get_secure()¶ Returns: self’s secure attribute Return type: boolGets self’s secure attribute
New in version 2.32.
-
set_domain(domain)¶ Parameters: domain ( str) – the new domainSets self’s domain to domain
New in version 2.24.
-
set_expires(expires)¶ Parameters: expires ( Soup.Date) – the new expiration time, orNoneSets self’s expiration time to expires. If expires is
None, self will be a session cookie and will expire at the end of the client’s session.(This sets the same property as
Soup.Cookie.set_max_age().)New in version 2.24.
-
set_http_only(http_only)¶ Parameters: http_only ( bool) – the new value for the HttpOnly attributeSets self’s HttpOnly attribute to http_only. If
True, self will be marked as “http only”, meaning it should not be exposed to web page scripts or other untrusted code.New in version 2.24.
-
set_max_age(max_age)¶ Parameters: max_age ( int) – the new max ageSets self’s max age to max_age. If max_age is -1, the cookie is a session cookie, and will expire at the end of the client’s session. Otherwise, it is the number of seconds until the cookie expires. You can use the constants
Soup.COOKIE_MAX_AGE_ONE_HOUR,Soup.COOKIE_MAX_AGE_ONE_DAY,Soup.COOKIE_MAX_AGE_ONE_WEEKandSoup.COOKIE_MAX_AGE_ONE_YEAR(or multiples thereof) to calculate this value. (A value of 0 indicates that the cookie should be considered already-expired.)(This sets the same property as
Soup.Cookie.set_expires().)New in version 2.24.
-
set_same_site_policy(policy)¶ Parameters: policy ( Soup.SameSitePolicy) – aSoup.SameSitePolicyWhen used in conjunction with
Soup.CookieJar.get_cookie_list_with_same_site_info() this sets the policy of when this cookie should be exposed.New in version 2.70.
-
set_secure(secure)¶ Parameters: secure ( bool) – the new value for the secure attributeSets self’s secure attribute to secure. If
True, self will only be transmitted from the client to the server over secure (https) connections.New in version 2.24.
-
set_value(value)¶ Parameters: value ( str) – the new valueSets self’s value to value
New in version 2.24.
Returns: the header Return type: strSerializes self in the format used by the Cookie header (ie, for returning a cookie from a
Soup.Sessionto a server).New in version 2.24.
Returns: the header Return type: strSerializes self in the format used by the Set-Cookie header (ie, for sending a cookie from a
Soup.Serverto a client).New in version 2.24.
-
classmethod