Pio*_*ost 5 qt tee qwebpage qnetworkaccessmanager qwebkit
我QWebPage用来下载网页及其所有资源.与此同时,我想了解Qt在此过程中下载的原始数据.通过读取数据这样QNetworkReply的void QNetworkAccessManager::finished(QNetworkReply * reply)
信号是不是一个很好的解决方案,数据可能通过被已经读过QWebPage本身.这是因为
QNetworkReply是一个顺序访问QIODevice,这意味着一旦从对象读取数据,它就不再由设备保留.
根据详细描述的QNetworkReply.
但是QWebPage可以配置为使用custom QNetworkAccessManagerwith overriden createRequest方法
QNetworkReply * QNetworkAccessManager::createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData = 0 )
Run Code Online (Sandbox Code Playgroud)
我认为正确的解决方案是为方法创建代理QNetworkReply并将其返回createRequest.这个代理应该允许从原始的情况中读取数据QNetworkReply(因此QWebPage可以从中读取数据),但同时该代理应该允许在读取数据后读取其他对象的数据QWebPage.换句话说,我们需要发球的QNetworkReply的IODevice基类.
怎么写这个代理?