Qt WebEngine捕获网络包

时间:2017-04-07 03:50:30

标签: qt pyqt

我将我的Qt应用程序从Webkit移植到WebEngine。在我的Webkit代码中,我使用 QNetworkAccessManager 来捕获网络包。但是在WebEngine中,文件说:

  

Qt WebEngine不与QNetworkAccessManager交互

所以我无法在我的WebEngine代码中这样做。

这是我的Webkit代码:

......
reply = QNetworkAccessManager.createRequest(
        manager, operation, req, data)

def _on_replyfinish():
    data = reply.peek(reply.bytesAvailable()).data()
    cookies = manager.cookieJar().mozillaCookies()
    self.resopnseHistroylist.append({
            'reply': reply,
            'url': req.url().toString(),
            'host': req.url().host(),
            'filename': req.url().fileName(),
            'body': data,
            'code': reply.attribute(QNetworkRequest.HttpStatusCodeAttribute),
            'request_header': get_headers(req),
            'cookies': cookies,
            'response_header': get_headers(reply),
            'time': int(time.time()*1000),
        })

reply.readyRead.connect(_on_replyfinish)

......

我使用PyQt5.8和Qt5.8。

我可以capture network package using Qt WebEngine Developer Tools,但我想在像Webkit这样的代码中这样做。

WebBngine中是否还有其他方法可以像Webkit一样使用网络包?

0 个答案:

没有答案