QWebEngineUrlRequestInterceptor Class

The QWebEngineUrlRequestInterceptor class provides an abstract base class for URL interception. More...

Header: #include <QWebEngineUrlRequestInterceptor>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Inherits: QObject

Public Functions

QWebEngineUrlRequestInterceptor(QObject *p = nullptr)
virtual void interceptRequest(QWebEngineUrlRequestInfo &info) = 0

Detailed Description

Implementing the QWebEngineUrlRequestInterceptor interface and installing the interceptor on the profile enables intercepting, blocking, and modifying URL requests before they reach the networking stack of Chromium.

You can install the interceptor on a profile via QWebEngineProfile::setUrlRequestInterceptor() or QQuickWebEngineProfile::setUrlRequestInterceptor().

When using the Qt WebEngine Widgets Module, QWebEnginePage::acceptNavigationRequest() offers further options to accept or block requests.

See also interceptRequest() and QWebEngineUrlRequestInfo.

Member Function Documentation

[explicit] QWebEngineUrlRequestInterceptor::QWebEngineUrlRequestInterceptor(QObject *p = nullptr)

Creates a new QWebEngineUrlRequestInterceptor object with p as parent.

[pure virtual] void QWebEngineUrlRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo &info)

Reimplementing this virtual function makes it possible to intercept URL requests. This method will be stalling the URL request until handled.

info contains the information about the URL request and will track internally whether its members have been altered.

Warning: All method calls to the profile on the main thread will block until execution of this function is finished.

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