QHstsPolicy Class

QHstsPolicy 类指定主机是否支持 HTTP 严格传输安全策略(HSTS)。更多

头文件: #include <QHstsPolicy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

公共类型

enum PolicyFlag { IncludeSubDomains }
flags PolicyFlags

公共函数

QHstsPolicy()
QHstsPolicy(const QDateTime &expiry, QHstsPolicy::PolicyFlags flags, const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)
QHstsPolicy(const QHstsPolicy &other)
~QHstsPolicy()
QDateTime expiry() const
QString host(QUrl::ComponentFormattingOptions options = QUrl::FullyDecoded) const
bool includesSubDomains() const
bool isExpired() const
void setExpiry(const QDateTime &expiry)
void setHost(const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)
void setIncludesSubDomains(bool include)
void swap(QHstsPolicy &other)
QHstsPolicy &operator=(const QHstsPolicy &other)
bool operator!=(const QHstsPolicy &lhs, const QHstsPolicy &rhs)
bool operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

详细说明

HSTS 策略定义了一段时间,在此期间QNetworkAccessManager 只能以安全方式访问主机。HSTS 策略由 RFC6797 定义。

您可以在构造函数中或通过调用setExpiry(),setHost() 和setIncludesSubDomains() 为该策略设置到期时间和主机名,并控制该策略是否适用于子域。

另请参阅 QNetworkAccessManager::setStrictTransportSecurityEnabled()。

成员类型文档

枚举 QHstsPolicy::PolicyFlag
flags QHstsPolicy::PolicyFlags

常量说明
QHstsPolicy::IncludeSubDomains1指示策略是否必须包含子域

PolicyFlags 类型是QFlags<PolicyFlag> 的类型定义。它存储了 PolicyFlag 值的 OR 组合。

成员函数文档

QHstsPolicy::QHstsPolicy()

构建一个无效(过期)策略,其中主机名为空,且不包括子域。

QHstsPolicy::QHstsPolicy(const QDateTime &expiry, QHstsPolicy::PolicyFlags flags, const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)

构造 QHstsPolicy,其中expiry (以 UTC 为单位);flags 是表示该策略是否必须包含子域的值,host 数据根据mode 进行解释。

另请参阅 QUrl::setHost()、QUrl::ParsingModeQHstsPolicy::PolicyFlag

QHstsPolicy::QHstsPolicy(const QHstsPolicy &other)

创建other 对象的副本。

[noexcept] QHstsPolicy::~QHstsPolicy()

毁灭者

QDateTime QHstsPolicy::expiry() const

返回策略的到期日期(以 UTC 为单位)。

另请参阅 setExpiry()。

QString QHstsPolicy::host(QUrl::ComponentFormattingOptions options = QUrl::FullyDecoded) const

返回给定策略的主机,格式按照options

另请参阅 setHost()、QUrl::host() 和QUrl::ComponentFormattingOptions

bool QHstsPolicy::includesSubDomains() const

如果该策略还包括子域,则返回true

另请参阅 setIncludesSubDomains()。

bool QHstsPolicy::isExpired() const

如果该策略有有效的到期日期,且该日期大于 QDateTime::currentGetDateTimeUtc(),则返回true

另请参阅 setExpiry() 和expiry()。

void QHstsPolicy::setExpiry(const QDateTime &expiry)

将策略的到期日期(UTC 时)设为expiry

另请参阅 expiry() 。

void QHstsPolicy::setHost(const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)

设置主机,根据mode 参数解释host 数据。

另请参阅 host(),QUrl::setHost() 和QUrl::ParsingMode

void QHstsPolicy::setIncludesSubDomains(bool include)

将此策略是否包含子域设置为include

另请参阅 includesSubDomains() 。

[noexcept] void QHstsPolicy::swap(QHstsPolicy &other)

将此策略与other 互换。该操作速度非常快,从未出现过故障。

QHstsPolicy &QHstsPolicy::operator=(const QHstsPolicy &other)

复制分配运算符,复制other

相关非会员

bool operator!=(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

如果lhsrhs 这两个策略的主机或过期日期不一致,或在包含或排除子域方面意见不一致,则返回true

bool operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

如果lhsrhs 这两个策略具有相同的主机和过期日期,同时同意包含或排除子域,则返回true

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.