PySide6.QtNetwork.QHttpHeaders

class QHttpHeaders

QHttpHeaders 是一个用于保存HTTP头信息的类。更多

在版本6.7中添加。

概要

方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

该类是一个接口类型,用于使用或消费此类标头的Qt网络API。

允许的字段名称和值字符

HTTP头由名称组成。在设置这些时,QHttpHeaders会验证名称,以确保它们只包含HTTP RFCs允许的字符。有关详细信息,请参阅RFC 9110第5.1和5.5章

总的来说,这意味着:

  • name 必须由可见的ASCII字符组成,且不能为空

  • value 可以包含任意字节,只要遵守头部和特定用例的编码规则。value 可以为空

此类的设置器会自动移除value中的任何前导或尾随空格,因为在value处理过程中必须忽略它们。

组合值

大多数HTTP头值可以用单个逗号','加上可选的空格组合,语义保持不变。例如,这两个在语义上应该是相似的:

// Values as separate header entries
myheadername: myheadervalue1
myheadername: myheadervalue2
// Combined value
myheadername: myheadervalue1, myheadervalue2

然而,这条规则有一个显著的例外:Set-Cookie。由于这一点以及自定义用例的可能性,QHttpHeaders 不会自动合并这些值。

性能

大多数 QHttpHeaders 函数都提供了 WellKnownHeader 和 QAnyStringView 的重载。从内存使用和计算的角度来看,建议使用 WellKnownHeader 的重载。

class WellKnownHeader

根据IANA注册表的知名头列表。

常量

描述

QHttpHeaders.WellKnownHeader.AIM

QHttpHeaders.WellKnownHeader.Accept

QHttpHeaders.WellKnownHeader.AcceptAdditions

QHttpHeaders.WellKnownHeader.AcceptCH

QHttpHeaders.WellKnownHeader.AcceptDatetime

QHttpHeaders.WellKnownHeader.AcceptEncoding

QHttpHeaders.WellKnownHeader.AcceptFeatures

QHttpHeaders.WellKnownHeader.AcceptLanguage

QHttpHeaders.WellKnownHeader.AcceptPatch

QHttpHeaders.WellKnownHeader.AcceptPost

QHttpHeaders.WellKnownHeader.AcceptRanges

QHttpHeaders.WellKnownHeader.AcceptSignature

QHttpHeaders.WellKnownHeader.AccessControlAllowCredentials

QHttpHeaders.WellKnownHeader.AccessControlAllowHeaders

QHttpHeaders.WellKnownHeader.AccessControlAllowMethods

QHttpHeaders.WellKnownHeader.AccessControlAllowOrigin

QHttpHeaders.WellKnownHeader.AccessControlExposeHeaders

QHttpHeaders.WellKnownHeader.AccessControlMaxAge

QHttpHeaders.WellKnownHeader.AccessControlRequestHeaders

QHttpHeaders.WellKnownHeader.AccessControlRequestMethod

QHttpHeaders.WellKnownHeader.Age

QHttpHeaders.WellKnownHeader.Allow

QHttpHeaders.WellKnownHeader.ALPN

QHttpHeaders.WellKnownHeader.AltSvc

QHttpHeaders.WellKnownHeader.AltUsed

QHttpHeaders.WellKnownHeader.Alternates

QHttpHeaders.WellKnownHeader.ApplyToRedirectRef

QHttpHeaders.WellKnownHeader.AuthenticationControl

QHttpHeaders.WellKnownHeader.AuthenticationInfo

QHttpHeaders.WellKnownHeader.Authorization

QHttpHeaders.WellKnownHeader.CacheControl

QHttpHeaders.WellKnownHeader.CacheStatus

QHttpHeaders.已知标头.CalManagedID

QHttpHeaders.WellKnownHeader.CalDAVTimezones

QHttpHeaders.WellKnownHeader.CapsuleProtocol

QHttpHeaders.WellKnownHeader.CDNCacheControl

QHttpHeaders.WellKnownHeader.CDNLoop

QHttpHeaders.WellKnownHeader.CertNotAfter

QHttpHeaders.WellKnownHeader.CertNotBefore

QHttpHeaders.WellKnownHeader.ClearSiteData

QHttpHeaders.WellKnownHeader.ClientCert

QHttpHeaders.WellKnownHeader.ClientCertChain

QHttpHeaders.WellKnownHeader.Close

QHttpHeaders.WellKnownHeader.Connection

QHttpHeaders.WellKnownHeader.ContentDigest

QHttpHeaders.WellKnownHeader.ContentDisposition

QHttpHeaders.WellKnownHeader.ContentEncoding

QHttpHeaders.WellKnownHeader.ContentID

QHttpHeaders.WellKnownHeader.ContentLanguage

QHttpHeaders.WellKnownHeader.ContentLength

QHttpHeaders.WellKnownHeader.ContentLocation

QHttpHeaders.WellKnownHeader.ContentRange

QHttpHeaders.WellKnownHeader.ContentSecurityPolicy

QHttpHeaders.WellKnownHeader.ContentSecurityPolicyReportOnly

QHttpHeaders.WellKnownHeader.ContentType

QHttpHeaders.WellKnownHeader.Cookie

QHttpHeaders.知名标头.跨源嵌入策略

QHttpHeaders.WellKnownHeader.CrossOriginEmbedderPolicyReportOnly

QHttpHeaders.WellKnownHeader.CrossOriginOpenerPolicy

QHttpHeaders.知名标头.跨源开启者策略仅报告

QHttpHeaders.WellKnownHeader.CrossOriginResourcePolicy

QHttpHeaders.WellKnownHeader.DASL

QHttpHeaders.WellKnownHeader.Date

QHttpHeaders.WellKnownHeader.DAV

QHttpHeaders.WellKnownHeader.DeltaBase

QHttpHeaders.WellKnownHeader.Depth

QHttpHeaders.WellKnownHeader.Destination

QHttpHeaders.WellKnownHeader.DifferentialID

QHttpHeaders.WellKnownHeader.DPoP

QHttpHeaders.WellKnownHeader.DPoPNonce

QHttpHeaders.WellKnownHeader.EarlyData

QHttpHeaders.WellKnownHeader.ETag

QHttpHeaders.WellKnownHeader.Expect

QHttpHeaders.WellKnownHeader.ExpectCT

QHttpHeaders.WellKnownHeader.Expires

QHttpHeaders.WellKnownHeader.Forwarded

QHttpHeaders.WellKnownHeader.From

QHttpHeaders.WellKnownHeader.Hobareg

QHttpHeaders.WellKnownHeader.Host

QHttpHeaders.WellKnownHeader.If

QHttpHeaders.WellKnownHeader.IfMatch

QHttpHeaders.WellKnownHeader.IfModifiedSince

QHttpHeaders.WellKnownHeader.IfNoneMatch

QHttpHeaders.WellKnownHeader.IfRange

QHttpHeaders.WellKnownHeader.IfScheduleTagMatch

QHttpHeaders.WellKnownHeader.IfUnmodifiedSince

QHttpHeaders.WellKnownHeader.IM

QHttpHeaders.WellKnownHeader.IncludeReferredTokenBindingID

QHttpHeaders.WellKnownHeader.KeepAlive

QHttpHeaders.WellKnownHeader.Label

QHttpHeaders.已知标头.LastEventID

QHttpHeaders.WellKnownHeader.LastModified

QHttpHeaders.WellKnownHeader.Link

QHttpHeaders.WellKnownHeader.Location

QHttpHeaders.WellKnownHeader.LockToken

QHttpHeaders.WellKnownHeader.MaxForwards

QHttpHeaders.WellKnownHeader.MementoDatetime

QHttpHeaders.WellKnownHeader.Meter

QHttpHeaders.WellKnownHeader.MIME版本

QHttpHeaders.WellKnownHeader.Negotiate

QHttpHeaders.WellKnownHeader.NEL

QHttpHeaders.WellKnownHeader.ODataEntityId

QHttpHeaders.WellKnownHeader.ODataIsolation

QHttpHeaders.WellKnownHeader.ODataMaxVersion

QHttpHeaders.WellKnownHeader.ODataVersion

QHttpHeaders.WellKnownHeader.OptionalWWWAuthenticate

QHttpHeaders.WellKnownHeader.OrderingType

QHttpHeaders.WellKnownHeader.Origin

QHttpHeaders.WellKnownHeader.OriginAgentCluster

QHttpHeaders.WellKnownHeader.OSCORE

QHttpHeaders.WellKnownHeader.OSLCCoreVersion

QHttpHeaders.WellKnownHeader.Overwrite

QHttpHeaders.WellKnownHeader.PingFrom

QHttpHeaders.WellKnownHeader.PingTo

QHttpHeaders.WellKnownHeader.Position

QHttpHeaders.WellKnownHeader.Prefer

QHttpHeaders.WellKnownHeader.PreferenceApplied

QHttpHeaders.WellKnownHeader.Priority

QHttpHeaders.WellKnownHeader.ProxyAuthenticate

QHttpHeaders.WellKnownHeader.ProxyAuthenticationInfo

QHttpHeaders.WellKnownHeader.ProxyAuthorization

QHttpHeaders.WellKnownHeader.ProxyStatus

QHttpHeaders.WellKnownHeader.PublicKeyPins

QHttpHeaders.WellKnownHeader.PublicKeyPinsReportOnly

QHttpHeaders.WellKnownHeader.Range

QHttpHeaders.WellKnownHeader.RedirectRef

QHttpHeaders.WellKnownHeader.Referer

QHttpHeaders.WellKnownHeader.Refresh

QHttpHeaders.WellKnownHeader.ReplayNonce

QHttpHeaders.WellKnownHeader.ReprDigest

QHttpHeaders.WellKnownHeader.RetryAfter

QHttpHeaders.WellKnownHeader.ScheduleReply

QHttpHeaders.WellKnownHeader.ScheduleTag

QHttpHeaders.WellKnownHeader.SecPurpose

QHttpHeaders.WellKnownHeader.SecTokenBinding

QHttpHeaders.WellKnownHeader.SecWebSocketAccept

QHttpHeaders.WellKnownHeader.SecWebSocketExtensions

QHttpHeaders.WellKnownHeader.SecWebSocketKey

QHttpHeaders.WellKnownHeader.SecWebSocketProtocol

QHttpHeaders.WellKnownHeader.SecWebSocketVersion

QHttpHeaders.WellKnownHeader.Server

QHttpHeaders.WellKnownHeader.ServerTiming

QHttpHeaders.WellKnownHeader.SetCookie

QHttpHeaders.WellKnownHeader.Signature

QHttpHeaders.WellKnownHeader.SignatureInput

QHttpHeaders.WellKnownHeader.SLUG

QHttpHeaders.WellKnownHeader.SoapAction

QHttpHeaders.WellKnownHeader.StatusURI

QHttpHeaders.WellKnownHeader.StrictTransportSecurity

QHttpHeaders.WellKnownHeader.Sunset

QHttpHeaders.WellKnownHeader.SurrogateCapability

QHttpHeaders.WellKnownHeader.SurrogateControl

QHttpHeaders.WellKnownHeader.TCN

QHttpHeaders.WellKnownHeader.TE

QHttpHeaders.WellKnownHeader.Timeout

QHttpHeaders.WellKnownHeader.Topic

QHttpHeaders.WellKnownHeader.Traceparent

QHttpHeaders.WellKnownHeader.Tracestate

QHttpHeaders.WellKnownHeader.Trailer

QHttpHeaders.WellKnownHeader.TransferEncoding

QHttpHeaders.WellKnownHeader.TTL

QHttpHeaders.WellKnownHeader.Upgrade

QHttpHeaders.WellKnownHeader.Urgency

QHttpHeaders.WellKnownHeader.UserAgent

QHttpHeaders.WellKnownHeader.VariantVary

QHttpHeaders.WellKnownHeader.Vary

QHttpHeaders.WellKnownHeader.Via

QHttpHeaders.WellKnownHeader.WantContentDigest

QHttpHeaders.WellKnownHeader.WantReprDigest

QHttpHeaders.WellKnownHeader.WWWAuthenticate

QHttpHeaders.WellKnownHeader.XContentTypeOptions

QHttpHeaders.WellKnownHeader.XFrameOptions

QHttpHeaders.WellKnownHeader.AcceptCharset

QHttpHeaders.WellKnownHeader.CPEPInfo

QHttpHeaders.WellKnownHeader.Pragma

QHttpHeaders.WellKnownHeader.ProtocolInfo

QHttpHeaders.WellKnownHeader.ProtocolQuery

__init__()

创建一个新的QHttpHeaders对象。

__init__(other)
Parameters:

其他QHttpHeaders

创建 other 的副本。

append(name, value)
Parameters:
  • name – str

  • value – str

Return type:

布尔

使用namevalue附加一个头条目,并在成功时返回true

另请参阅

WellKnownHeader, QAnyStringView) 允许的字段名称和值字符

append(name, value)
Parameters:
Return type:

布尔

此函数重载了 append(QAnyStringView, QAnyStringView)

clear()

清除所有头条目。

另请参阅

size()

combinedValue(name)
Parameters:

name – str

Return type:

QByteArray

返回头部name的值,以逗号组合的字符串形式。如果带有name的头部不存在,则返回一个null的QByteArray。

注意

以这种方式访问‘Set-Cookie’头的值可能无法按预期工作。这是HTTP RFC中的一个显著例外,因为它的值不能以这种方式组合。建议使用values()代替。

另请参阅

values(QAnyStringView)

combinedValue(name)
Parameters:

名称WellKnownHeader

Return type:

QByteArray

此函数重载了 combinedValue(QAnyStringView)

contains(name)
Parameters:

name – str

Return type:

布尔

返回头部是否包含名为 name 的头部。

另请参阅

WellKnownHeader)

contains(name)
Parameters:

名称WellKnownHeader

Return type:

布尔

此函数重载了has(QAnyStringView)。

static fromListOfPairs(headers)
Parameters:

headers – .std.pairQByteArray,QByteArray 的列表

Return type:

QHttpHeaders

创建一个新的QHttpHeaders对象,并用headers填充。

另请参阅

允许的 字段 名称 字符

static fromMultiHash(headers)
Parameters:

headers – .QMultiHashQByteArray,QByteArray

Return type:

QHttpHeaders

创建一个新的QHttpHeaders对象,并用headers填充。

另请参阅

允许的 字段 名称 字符

static fromMultiMap(headers)
Parameters:

headers – .QMultiMapQByteArray,QByteArray

Return type:

QHttpHeaders

创建一个新的QHttpHeaders对象,并用headers填充。

另请参阅

Allowed field name and value characters

insert(i, name, value)
Parameters:
  • i – 整数

  • name – str

  • value – str

Return type:

布尔

在索引 i 处插入一个头条目,包含 namevalue。索引必须有效(参见 size())。返回插入是否成功。

另请参阅

append() WellKnownHeader, QAnyStringView) size() 允许的字段名称和值字符

insert(i, name, value)
Parameters:
Return type:

布尔

此函数重载了 insert(qsizetype, QAnyStringView, QAnyStringView)

isEmpty()
Return type:

布尔

如果头部的大小为0,则返回true;否则返回false

另请参阅

size()

nameAt(i)
Parameters:

i – 整数

Return type:

QLatin1String

返回索引 i 处的标题名称。索引 i 必须有效(参见 size() )。

头部名称是大小写不敏感的,返回的名称是小写的。

另请参阅

size() valueAt()

removeAll(name)
Parameters:

name – str

移除头部 name

另请参阅

removeAt() WellKnownHeader)

removeAll(name)
Parameters:

名称WellKnownHeader

此函数重载了 removeAll(QAnyStringView)

removeAt(i)
Parameters:

i – 整数

移除索引 i 处的标题。索引 i 必须有效(参见 size() )。

另请参阅

WellKnownHeader) removeAll(QAnyStringView) size()

replace(i, name, newValue)
Parameters:
  • i – 整数

  • name – str

  • newValue – 字符串

Return type:

布尔

namenewValue替换索引i处的头条目。索引必须有效(参见size())。返回替换是否成功。

另请参阅

append() WellKnownHeader, QAnyStringView) size() 允许的字段名称和值字符

replace(i, name, newValue)
Parameters:
Return type:

布尔

此函数重载了 replace(qsizetype, QAnyStringView, QAnyStringView)

replaceOrAppend(name, newValue)
Parameters:
  • name – str

  • newValue – 字符串

Return type:

布尔

此函数重载了 replaceOrAppend(WellKnownHeader, QAnyStringView)。

replaceOrAppend(name, newValue)
Parameters:
Return type:

布尔

如果 QHttpHeaders 已经包含 name,则用 newValue 替换其值,并删除可能的额外 name 条目。如果 name 不存在,则追加一个新条目。如果成功,返回 true

此函数是一个便捷方法,用于设置唯一的name : newValue 头信息。对于大多数头信息,相对顺序并不重要,这允许在存在现有条目时重复使用。

另请参阅

replaceOrAppend(QAnyStringView, QAnyStringView)

reserve(size)
Parameters:

size – int

尝试为至少 size 个头条目分配内存。

如果你提前知道会有多少个头部条目,你可以调用这个函数来防止重新分配和内存碎片化。

size()
Return type:

整数

返回头条目的数量。

swap(other)
Parameters:

其他QHttpHeaders

将此 QHttpHeadersother 交换。此函数非常快且永远不会失败。

toListOfPairs()
Return type:

std.pairQByteArray的列表,QByteArray

返回头部条目作为(名称,值)对的列表。头部名称不区分大小写,返回的名称是小写的。

toMultiHash()
Return type:

.QMultiHashQByteArray,QByteArray

返回头部条目作为从名称到值的哈希。头部名称不区分大小写,返回的名称是小写的。

toMultiMap()
Return type:

.QMultiMapQByteArray,QByteArray

返回头部条目作为从名称到值的映射。头部名称不区分大小写,返回的名称是小写的。

value(name[, defaultValue={}])
Parameters:
  • name – str

  • defaultValueQByteArrayView

Return type:

QByteArrayView

返回(第一个)标头name的值,如果不存在则返回defaultValue

另请参阅

WellKnownHeader, QByteArrayView)

value(name[, defaultValue={}])
Parameters:
Return type:

QByteArrayView

此函数重载了 value(QAnyStringView, QByteArrayView)

valueAt(i)
Parameters:

i – 整数

Return type:

QByteArrayView

返回索引 i 处的标头值。索引 i 必须有效(参见 size() )。

values(name)
Parameters:

name – str

Return type:

.list of QByteArray

返回标头name的值列表。如果标头name不存在,则返回空列表。

另请参阅

WellKnownHeader)

values(name)
Parameters:

名称WellKnownHeader

Return type:

.list of QByteArray

此函数重载了 values(QAnyStringView)

static wellKnownHeaderName(name)
Parameters:

名称WellKnownHeader

Return type:

QByteArrayView

返回与提供的name对应的标题名称作为视图。