6

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:

  1. operation (QNetworkAccessManager::Operation operation)
  2. request (const QNetworkRequest &request)
  3. 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

  1. operation (info.requestMethod)
  2. url (info.requestUrl)

Now I want to get "some data", how can I get it?

Dmitry
  • 3,063
  • 2
  • 22
  • 32
C.Hao
  • 61
  • 4
  • Using QWebEngine to intercept request the above question is related to this previous question asked on StackOverflow. [https://stackoverflow.com/questions/38343790/how-to-use-qwebengineurlrequestinterceptor](https://stackoverflow.com/questions/38343790/how-to-use-qwebengineurlrequestinterceptor) – Peter Feb 08 '20 at 00:02

0 Answers0