在QtWebKit
中,我们可以使用QNetworkAccessManager
,例如:
class NetworkAccessManager : public QNetworkAccessManager
{
public:
explicit NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent);
protected:
QNetworkReply * createRequest(QNetworkAccessManager::Operation operation,const QNetworkRequest &request, QIODevice *device);
};
我们可以实现QNetworkReply * createRequest()
。通过这种方法,我们可以获得:
QNetworkAccessManager::Operation operation
)const QNetworkRequest &request
)QIODevice *device
)根据请求,我们可以从“一些数据”中获取url,我们可以从html中获取一些数据(我不知道如何称呼“某些数据”,所以我称“某些数据”)。
在QtWebEngine
中,我们可以使用QWebEngineUrlRequestInterceptor
来获取操作和网址,例如:
class WebUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
{
public:
WebUrlRequestInterceptor(QObject *p = Q_NULLPTR);
void interceptRequest(QWebEngineUrlRequestInfo &info);
~WebUrlRequestInterceptor();
};
我们可以实现interceptRequest(QWebEngineUrlRequestInfo &info)
,通过这种方法,我们可以获得信息,从信息中我们可以得到
info.requestMethod
)info.requestUrl
)现在我想获取“一些数据”,如何获得它?
使用QWebEngine拦截上述问题与在StackOverflow上询问的上一个问题有关。