QWebEngineUrlRequestInfo Class

QWebEngineUrlRequestInfo 类提供有关 URL 请求的信息。更多

头文件: #include <QWebEngineUrlRequestInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore

公共类型

enum NavigationType { NavigationTypeLink, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, …, NavigationTypeOther }
enum ResourceType { ResourceTypeMainFrame, ResourceTypeSubFrame, ResourceTypeStylesheet, ResourceTypeScript, ResourceTypeImage, …, ResourceTypeJson }

公共函数

void block(bool shouldBlock)
QUrl firstPartyUrl() const
(since 6.5) QHash<QByteArray, QByteArray> httpHeaders() const
QUrl initiator() const
(since 6.9) bool isDownload() const
QWebEngineUrlRequestInfo::NavigationType navigationType() const
void redirect(const QUrl &url)
(since 6.7) QIODevice *requestBody() const
QByteArray requestMethod() const
QUrl requestUrl() const
QWebEngineUrlRequestInfo::ResourceType resourceType() const
void setHttpHeader(const QByteArray &name, const QByteArray &value)

详细说明

QWebEngineUrlRequestInfo 用于为请求设置额外的头部字段,或将某些没有有效载荷数据的请求重定向到另一个 URL。该类不能由用户实例化或复制,而是由Qt WebEngine 创建,并在设置了拦截器的情况下通过虚拟函数QWebEngineUrlRequestInterceptor::interceptRequest() 发送。

成员类型文档

该枚举类型描述了请求的导航类型:

常量描述
QWebEngineUrlRequestInfo::NavigationTypeLink0通过点击链接启动导航。
QWebEngineUrlRequestInfo::NavigationTypeTyped1通过键入 URL 明确启动的导航。
QWebEngineUrlRequestInfo::NavigationTypeFormSubmitted2导航提交表单。
QWebEngineUrlRequestInfo::NavigationTypeBackForward3通过历史操作启动导航。
QWebEngineUrlRequestInfo::NavigationTypeReload4通过刷新页面启动导航。
QWebEngineUrlRequestInfo::NavigationTypeRedirect6由页面内容或远程服务器自动触发的导航。(在 Qt 5.14 中添加)
QWebEngineUrlRequestInfo::NavigationTypeOther5以上都不是。

enum QWebEngineUrlRequestInfo::ResourceType

该枚举类型表示所请求资源的类型:

常量描述
QWebEngineUrlRequestInfo::ResourceTypeMainFrame0顶层页面。
QWebEngineUrlRequestInfo::ResourceTypeSubFrame1框架或 iframe。
QWebEngineUrlRequestInfo::ResourceTypeStylesheet2CSS 样式表。
QWebEngineUrlRequestInfo::ResourceTypeScript3外部脚本。
QWebEngineUrlRequestInfo::ResourceTypeImage4图像(JPG、GIF、PNG 等)。
QWebEngineUrlRequestInfo::ResourceTypeFontResource5字体
QWebEngineUrlRequestInfo::ResourceTypeSubResource6其他 "子资源。
QWebEngineUrlRequestInfo::ResourceTypeObject7插件的对象(或嵌入)标记或插件请求的资源。
QWebEngineUrlRequestInfo::ResourceTypeMedia8媒体资源。
QWebEngineUrlRequestInfo::ResourceTypeWorker9专用 Worker 的主资源。
QWebEngineUrlRequestInfo::ResourceTypeSharedWorker10共享 Worker 的主资源。
QWebEngineUrlRequestInfo::ResourceTypePrefetch11明确请求的预取。
QWebEngineUrlRequestInfo::ResourceTypeFavicon12图标。
QWebEngineUrlRequestInfo::ResourceTypeXhr13XMLHttpRequest
QWebEngineUrlRequestInfo::ResourceTypePing14<a ping> 的 ping 请求。
QWebEngineUrlRequestInfo::ResourceTypeServiceWorker15服务 Worker 的主要资源。
QWebEngineUrlRequestInfo::ResourceTypeCspReport16违反内容安全策略 (CSP) 的报告。CSP 报告采用 JSON 格式,通过 HTTP POST 请求传送到指定的服务器。(在 Qt 5.7 中添加)
QWebEngineUrlRequestInfo::ResourceTypePluginResource17插件请求的资源。(在 Qt 5.7 中添加)
QWebEngineUrlRequestInfo::ResourceTypeNavigationPreloadMainFrame19主机服务工作者的导航预加载请求。(已在 Qt 5.14 中添加)
QWebEngineUrlRequestInfo::ResourceTypeNavigationPreloadSubFrame20子框架服务工作者导航预加载请求。(已在 Qt 5.14 中添加)
QWebEngineUrlRequestInfo::ResourceTypeWebSocket254一个 WebSocket 请求。(已在 Qt 6.4 中添加)
QWebEngineUrlRequestInfo::ResourceTypeUnknown255未知请求类型。
QWebEngineUrlRequestInfo::ResourceTypeJson21一个 JSON 模块。(已在 Qt 6.8 中添加)

注意: 为了向前兼容,所有未匹配的值都应视为未知值,而不仅仅是ResourceTypeUnknown

成员函数文档

void QWebEngineUrlRequestInfo::block(bool shouldBlock)

如果shouldBlock 为 true,则阻止该请求,使其无法继续。

例如,该功能可用于防止从给定域进行导航。

QUrl QWebEngineUrlRequestInfo::firstPartyUrl() const

返回请求的第一方 URL。第一方 URL 是发出请求的页面的 URL。

[since 6.5] QHash<QByteArray, QByteArray> QWebEngineUrlRequestInfo::httpHeaders() const

返回请求头。

注意: 由于 Chromium 将在稍后阶段添加安全和代理标头,因此并非所有标头在此阶段都可见。

此函数在 Qt 6.5 中引入。

QUrl QWebEngineUrlRequestInfo::initiator() const

返回启动从一个框架导航到另一个框架的文档的源 URL。

[since 6.9] bool QWebEngineUrlRequestInfo::isDownload() const

如果请求是由用户的明确下载操作发起的,则返回 true。

即使此函数返回 false,下载仍会发生。

此函数在 Qt 6.9 中引入。

返回请求的导航类型。

另请参阅 NavigationType

void QWebEngineUrlRequestInfo::redirect(const QUrl &url)

将此请求重定向到url

[since 6.7] QIODevice *QWebEngineUrlRequestInfo::requestBody() const

返回指向QIODevice 的指针,该指针用于访问请求正文。请求体可以包含数据,例如当请求是 POST 请求时。如果请求体为空,QIODevice 将反映这一点,并在对其执行读取操作时不返回任何数据。

该函数在 Qt 6.7 中引入。

QByteArray QWebEngineUrlRequestInfo::requestMethod() const

返回请求的 HTTP 方法(如 GET 或 POST)。

QUrl QWebEngineUrlRequestInfo::requestUrl() const

返回请求的 URL。

QWebEngineUrlRequestInfo::ResourceType QWebEngineUrlRequestInfo::resourceType() const

返回请求的资源类型。

另请参阅 ResourceType

void QWebEngineUrlRequestInfo::setHttpHeader(const QByteArray &name, const QByteArray &value)

将该请求的请求标头name 设置为value

© 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.