QNetworkCookie¶
- PyQt5.QtNetwork.QNetworkCookie
Description¶
The QNetworkCookie class holds one network cookie.
Cookies are small bits of information that stateless protocols like HTTP use to maintain some persistent information across requests.
A cookie is set by a remote server when it replies to a request and it expects the same cookie to be sent back when further requests are sent.
QNetworkCookie holds one such cookie as received from the network. A cookie has a name and a value, but those are opaque to the application (that is, the information stored in them has no meaning to the application). A cookie has an associated path name and domain, which indicate when the cookie should be sent again to the server.
A cookie can also have an expiration date, indicating its validity. If the expiration date is not present, the cookie is considered a “session cookie� and should be discarded when the application exits (or when its concept of session is over).
QNetworkCookie provides a way of parsing a cookie from the HTTP header format using the parseCookies() function. However, when received in a QNetworkReply, the cookie is already parsed.
This class implements cookies as described by the initial cookie specification by Netscape, which is somewhat similar to the RFC 2109 specification, plus the “HttpOnly� extension. The more recent RFC 2965 specification (which uses the Set-Cookie2 header) is not supported.
See also
Enums¶
- RawForm
This enum is used with the toRawForm() function to declare which form of a cookie shall be returned.
Note that only the Full form of the cookie can be parsed back into its original contents.
See also
Member
Value
Description
Full 1
makes toRawForm() return the full cookie contents, as suitable for sending to a client in a server’s “Set-Cookie:� header.
NameAndValueOnly 0
makes toRawForm() return only the “NAME=VALUE� part of the cookie, as suitable for sending back to a server in a client request’s “Cookie:� header. Multiple cookies are separated by a semi-colon in the “Cookie:� header field.
Methods¶
- __init__(QNetworkCookie)
Creates a new QNetworkCookie object by copying the contents of other.
- __init__(name: Union[QByteArray, bytes, bytearray] = QByteArray(), value: Union[QByteArray, bytes, bytearray] = QByteArray())
Create a new QNetworkCookie object, initializing the cookie name to name and its value to value.
A cookie is only valid if it has a name. However, the value is opaque to the application and being empty may have significance to the remote server.
- domain() → str
Returns the domain this cookie is associated with. This corresponds to the “domain� field of the cookie string.
Note that the domain here may start with a dot, which is not a valid hostname. However, it means this cookie matches all hostnames ending with that domain name.
See also
- __eq__(QNetworkCookie) → bool
TODO
- expirationDate() → QDateTime
Returns the expiration date for this cookie. If this cookie is a session cookie, the QDateTime returned will not be valid. If the date is in the past, this cookie has already expired and should not be sent again back to a remote server.
The expiration date corresponds to the parameters of the “expires� entry in the cookie string.
See also
- hasSameIdentifier(QNetworkCookie) → bool
Returns
trueif this cookie has the same identifier tuple as other. The identifier tuple is composed of the name, domain and path.See also
operator==().
- isHttpOnly() → bool
Returns
trueif the “HttpOnly� flag is enabled for this cookie.A cookie that is “HttpOnly� is only set and retrieved by the network requests and replies; i.e., the HTTP protocol. It is not accessible from scripts running on browsers.
See also
- isSecure() → bool
Returns
trueif the “secure� option was specified in the cookie string, false otherwise.Secure cookies may contain private information and should not be resent over unencrypted connections.
See also
- isSessionCookie() → bool
Returns
trueif this cookie is a session cookie. A session cookie is a cookie which has no expiration date, which means it should be discarded when the application’s concept of session is over (usually, when the application exits).See also
- name() → QByteArray
Returns the name of this cookie. The only mandatory field of a cookie is its name, without which it is not considered valid.
- __ne__(QNetworkCookie) → bool
TODO
- normalize(QUrl)
This functions normalizes the path and domain of the cookie if they were previously empty. The url parameter is used to determine the correct domain and path.
-
@staticmethod
parseCookies(Union[QByteArray, bytes, bytearray]) → List[QNetworkCookie] Parses the cookie string cookieString as received from a server response in the “Set-Cookie:â€� header. If there’s a parsing error, this function returns an empty list.
Since the HTTP header can set more than one cookie at the same time, this function returns a QList<QNetworkCookie>, one for each cookie that is parsed.
See also
- path() → str
Returns the path associated with this cookie. This corresponds to the “path� field of the cookie string.
See also
- setDomain(str)
Sets the domain associated with this cookie to be domain.
See also
- setExpirationDate(Union[QDateTime, datetime.datetime])
Sets the expiration date of this cookie to date. Setting an invalid expiration date to this cookie will mean it’s a session cookie.
See also
- setHttpOnly(bool)
Sets this cookie’s “HttpOnly� flag to enable.
See also
- setName(Union[QByteArray, bytes, bytearray])
Sets the name of this cookie to be cookieName. Note that setting a cookie name to an empty QByteArray will make this cookie invalid.
- setPath(str)
Sets the path associated with this cookie to be path.
See also
- setSecure(bool)
Sets the secure flag of this cookie to enable.
Secure cookies may contain private information and should not be resent over unencrypted connections.
See also
- setValue(Union[QByteArray, bytes, bytearray])
Sets the value of this cookie to be value.
- swap(QNetworkCookie)
TODO
- toRawForm(form: RawForm = Full) → QByteArray
Returns the raw form of this QNetworkCookie. The QByteArray returned by this function is suitable for an HTTP header, either in a server response (the Set-Cookie header) or the client request (the Cookie header). You can choose from one of two formats, using form.
See also
- value() → QByteArray
Returns this cookies value, as specified in the cookie string. Note that a cookie is still valid if its value is empty.
Cookie name-value pairs are considered opaque to the application: that is, their values don’t mean anything.
See also