我将我的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一样使用网络包?