In QtWebKit
we can use QNetworkAccessManager
, like:
class NetworkAccessManager : public QNetworkAccessManager
{
public:
explicit NetworkAccessManager(QNetworkAccessManager *manager, QObject *parent);
protected:
QNetworkReply * createRequest(QNetworkAccessManager::Operation operation,const QNetworkRequest &request, QIODevice *device);
};
We can implement QNetworkReply * createRequest()
. In this method we can get:
- operation (
QNetworkAccessManager::Operation operation
) - request (
const QNetworkRequest &request
) - some data (
QIODevice *device
)
From request we can get the url, from "some data" we can get some data from html (I don't know how to call “some data”, so I call "some data").
In QtWebEngine
we can use QWebEngineUrlRequestInterceptor
to get operation and url, like:
class WebUrlRequestInterceptor : public QWebEngineUrlRequestInterceptor
{
public:
WebUrlRequestInterceptor(QObject *p = Q_NULLPTR);
void interceptRequest(QWebEngineUrlRequestInfo &info);
~WebUrlRequestInterceptor();
};
We can implement interceptRequest(QWebEngineUrlRequestInfo &info)
, in this method we have info, from info we can get
- operation (
info.requestMethod
) - url (
info.requestUrl
)
Now I want to get "some data", how can I get it?