[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);