Open
Description
使用 QWebEngineView 加载网页慢的问题
[toc]
定位
把 QWebEngineview
发起的每个网络请求全部打印,看看是哪个请求慢:
重写 QWebEngineUrlRequestInterceptor
class CustomUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
{
public:
CustomUrlRequestInterceptor(QObject* parent = nullptr) : QWebEngineUrlRequestInterceptor(parent) {}
void interceptRequest(QWebEngineUrlRequestInfo& info) override
{
// 可在发送请求前对URL进行修改
if (info.requestUrl().host() == "www.example.com") {
QUrl newUrl = info.requestUrl();
newUrl.setHost("www.newexample.com");
info.setUrl(newUrl);
}
// 可添加自定义Header
info.setHttpHeader("User-Agent", "Custom User-Agent");
// 打印日志
LogUtils::info(info.requestUrl().toString().toStdString().c_str());//输出日志
}
};
关闭系统代理
设置关闭系统自动代理即可:
QNetworkProxyFactory::setUseSystemConfiguration(false);
blog link 使用 QWebEngineView 加载网页慢的问题