PySide6.QtNetwork.QNetworkCookie¶
- class QNetworkCookie¶
QNetworkCookie类持有一个网络cookie。更多…概要¶
方法¶
def
__init__()def
domain()def
expirationDate()def
isHttpOnly()def
isSecure()def
name()def
normalize()def
__ne__()def
__eq__()def
path()def
sameSitePolicy()def
setDomain()def
setHttpOnly()def
setName()def
setPath()def
setSecure()def
setValue()def
swap()def
toRawForm()def
value()
静态函数¶
def
parseCookies()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
Cookies 是无状态协议(如 HTTP)用来在请求之间保持一些持久信息的小片段信息。
当远程服务器回复请求时,它会设置一个cookie,并期望在发送进一步请求时发送相同的cookie。
QNetworkCookie保存了从网络接收到的一个这样的cookie。一个cookie有一个名称和一个值,但这些对应用程序来说是不透明的(即存储在其中的信息对应用程序没有意义)。一个cookie有一个相关的路径名称和域,这些指示了何时应该再次将cookie发送到服务器。一个cookie也可以有一个过期日期,表示其有效性。如果没有过期日期,该cookie被视为“会话cookie”,应在应用程序退出时(或当其会话概念结束时)丢弃。
QNetworkCookie提供了一种使用parseCookies()函数从 HTTP 头格式解析 cookie 的方法。然而,当在QNetworkReply中接收到时,cookie 已经被解析。该类实现了由Netscape提出的初始cookie规范中描述的cookies,该规范与RFC 2109规范有些相似,并增加了“HttpOnly”扩展。不支持较新的RFC 2965规范(使用Set-Cookie2头)。
- class RawForm¶
此枚举与
toRawForm()函数一起使用,用于声明应返回哪种形式的cookie。常量
描述
QNetworkCookie.NameAndValueOnly
使得
toRawForm()仅返回 cookie 的“NAME=VALUE”部分,适合在客户端请求的“Cookie:”头中发送回服务器。多个 cookie 在“Cookie:”头字段中用分号分隔。QNetworkCookie.Full
使
toRawForm()返回完整的 cookie 内容,适合在服务器的“Set-Cookie:”头中发送给客户端。请注意,只有完整形式的cookie才能被解析回其原始内容。
- class SameSite¶
常量
描述
QNetworkCookie.SameSite.Default
SameSite 未设置。浏览器可以将其解释为 None 或 Lax。
QNetworkCookie.SameSite.None
Cookies可以在所有上下文中发送。这曾经是默认设置,但最近的浏览器将Lax设为默认设置,现在要求cookie必须是安全的,并且设置SameSite=None。
QNetworkCookie.SameSite.Lax
Cookies 会在第一方请求和由第三方网站发起的 GET 请求中发送。这是现代浏览器(自2020年中以来)的默认设置。
QNetworkCookie.SameSite.Strict
Cookies 将仅在第一方上下文中发送。
在版本6.1中添加。
- __init__(other)¶
- Parameters:
其他 –
QNetworkCookie
通过复制
other的内容创建一个新的QNetworkCookie对象。- __init__([name=QByteArray()[, value=QByteArray()]])
- Parameters:
name –
QByteArrayvalue –
QByteArray
创建一个新的
QNetworkCookie对象,将cookie名称初始化为name,并将其值初始化为value。只有在具有名称的情况下,cookie 才是有效的。然而,该值对应用程序是不透明的,并且为空可能对远程服务器有重要意义。
- domain()¶
- Return type:
字符串
返回与此cookie关联的域名。这对应于cookie字符串中的“domain”字段。
请注意,这里的域名可能以点开头,这不是一个有效的主机名。然而,这意味着此cookie匹配所有以该域名结尾的主机名。
另请参阅
返回此cookie的过期日期。如果此cookie是会话cookie,则返回的QDateTime将无效。如果日期在过去,此cookie已经过期,不应再发送回远程服务器。
过期日期对应于cookie字符串中“expires”条目的参数。
- hasSameIdentifier(other)¶
- Parameters:
其他 –
QNetworkCookie- Return type:
布尔
如果此cookie具有与
other相同的标识符元组,则返回true。标识符元组由名称、域和路径组成。另请参阅
operator==()- isHttpOnly()¶
- Return type:
布尔
如果此cookie启用了“HttpOnly”标志,则返回
true。“HttpOnly”类型的cookie仅由网络请求和响应设置和检索;即HTTP协议。它无法从浏览器上运行的脚本访问。
另请参阅
- isSecure()¶
- Return type:
布尔
如果在cookie字符串中指定了“secure”选项,则返回
true,否则返回false。安全cookie可能包含私人信息,不应通过未加密的连接重新发送。
另请参阅
- isSessionCookie()¶
- Return type:
布尔
如果此cookie是会话cookie,则返回
true。会话cookie是指没有过期日期的cookie,这意味着当应用程序的会话概念结束时(通常是应用程序退出时),它应该被丢弃。- name()¶
- Return type:
返回此cookie的名称。cookie的唯一必填字段是其名称,没有名称的cookie被视为无效。
此函数会规范化cookie的路径和域,如果它们之前为空。
url参数用于确定正确的域和路径。- __ne__(other)¶
- Parameters:
其他 –
QNetworkCookie- Return type:
布尔
如果此cookie不等于
other,则返回true。另请参阅
operator==()- __eq__(other)¶
- Parameters:
其他 –
QNetworkCookie- Return type:
布尔
如果此cookie等于
other,则返回true。此函数仅在cookie的所有字段都相同时才返回true。然而,在某些情况下,两个同名的cookie可能被认为是相等的。
另请参阅
operator!=()hasSameIdentifier()- static parseCookies(cookieString)¶
- Parameters:
cookieString –
QByteArrayView- Return type:
解析从服务器响应中的“Set-Cookie:”头接收到的cookie字符串
cookieString。如果解析出错,此函数返回一个空列表。由于HTTP头可以同时设置多个cookie,此函数返回一个QList<
QNetworkCookie>,每个解析出的cookie对应一个。- path()¶
- Return type:
字符串
返回与此cookie关联的路径。这对应于cookie字符串中的“path”字段。
另请参阅
如果在cookie字符串中指定了“
SameSite”选项,则返回该选项,如果不存在,则返回SameSite::Default。另请参阅
- setDomain(domain)¶
- Parameters:
domain – str
设置与此cookie关联的域为
domain。另请参阅
将此cookie的过期日期设置为
date。为此cookie设置无效的过期日期将意味着它是一个会话cookie。- setHttpOnly(enable)¶
- Parameters:
enable – 布尔值
将此cookie的“HttpOnly”标志设置为
enable。另请参阅
- setName(cookieName)¶
- Parameters:
cookieName –
QByteArray
将此cookie的名称设置为
cookieName。请注意,将cookie名称设置为空的QByteArray将使此cookie无效。- setPath(path)¶
- Parameters:
路径 – 字符串
设置与此cookie关联的路径为
path。另请参阅
将此cookie的“
SameSite”选项设置为sameSite。另请参阅
- setSecure(enable)¶
- Parameters:
enable – 布尔值
将此cookie的安全标志设置为
enable。安全cookie可能包含私人信息,不应通过未加密的连接重新发送。
另请参阅
- setValue(value)¶
- Parameters:
值 –
QByteArray
将此cookie的值设置为
value。- swap(other)¶
- Parameters:
其他 –
QNetworkCookie
将此cookie与
other交换。此函数非常快速且永远不会失败。返回此
QNetworkCookie的原始形式。此函数返回的QByteArray适用于HTTP头,无论是在服务器响应(Set-Cookie头)还是客户端请求(Cookie头)中。您可以使用form从两种格式中选择一种。另请参阅
- value()¶
- Return type:
返回此cookie的值,如cookie字符串中所指定的。请注意,即使cookie的值为空,它仍然有效。
Cookie 名称-值对对于应用程序来说是不透明的:也就是说,它们的值没有任何意义。
另请参阅