QtWebEngine/Network: Difference between revisions
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
# Use any proxy set explicitly in Qt Network | # Use any proxy set explicitly in Qt Network | ||
From Qt 5.8 onwards, The ''system proxy settings'' are used if QNetworkProxyFactory::useSystemConfiguration | From Qt 5.8 onwards, The ''system proxy settings'' are used if [http://doc.qt.io/qt-5/qnetworkproxyfactory.html#useSystemConfiguration QNetworkProxyFactory::useSystemConfiguration] returns true. Otherwise Qt WebEngine adapts [http://doc.qt.io/qt-5/qnetworkproxy.html#applicationProxy QNetworkProxy::applicationProxy] . Other proxy settings in Qt Network are ignored. | ||
''Note:'' The code path used to auto-detect proxy settings in the network differ, depending on whether --single-process is used. See https://codereview.qt-project.org/#/c/115567/ for details. | ''Note:'' The code path used to auto-detect proxy settings in the network differ, depending on whether --single-process is used. See https://codereview.qt-project.org/#/c/115567/ for details. |
Revision as of 10:51, 21 July 2017
Qt WebEngine uses the Chromium networking stack instead of Qt Network.
Proxy Resolution
Note: If the first page takes long too load, this is often because Qt WebEngine queries the network for a PAC (Proxy Auto-Configuration) file.
Proxy resolution in Qt Network
Qt Network has a various levels to set proxies for client connections (evaluated in this order):
- QAbstractSocket::setProxy
- QNetworkAccessManager::setProxy
- QNetworkAccessManager::setProxyFactory
- QNetworkProxy::setApplicationProxy
- QNetworkProxyFactory::setUseSystemConfiguration
- QNetworkProxyFactory::setApplicationProxyFactory
Since Qt 5.6, there's a default QNetworkProxyFactory::applicationProxyFactory that uses the system settings (see -system-proxies / -no-system-proxies configure flag).
Proxy resolution in Qt WebEngine
Qt WebEngine does not feature an API for setting proxies directly. Anyhow, it can
- Use the system proxy settings
- Use any proxy set explicitly in Qt Network
From Qt 5.8 onwards, The system proxy settings are used if QNetworkProxyFactory::useSystemConfiguration returns true. Otherwise Qt WebEngine adapts QNetworkProxy::applicationProxy . Other proxy settings in Qt Network are ignored.
Note: The code path used to auto-detect proxy settings in the network differ, depending on whether --single-process is used. See https://codereview.qt-project.org/#/c/115567/ for details.
Proxy authentication
To authenticate proxies, connect to the QWebEnginePage::proxyAuthenticationRequired or WebEngineView::authenticationDialogRequested signal.
Links
http://doc.qt.io/qt-5/qtwebengine-overview.html#proxy-support