gpt4 book ai didi

qt - 如何从 QWebPage 使用的 QNetworkReply 读取数据?

转载 作者:行者123 更新时间:2023-12-04 20:22:52 31 4
gpt4 key购买 nike

我用 QWebPage 下载网页及其所有资源。同时,我想掌握 Qt 在此过程中下载的原始数据。通过从 QNetworkReply 读取数据来完成此操作在 void QNetworkAccessManager::finished(QNetworkReply * reply)
信号不是一个好的解决方案,因为数据可能已经被 QWebPage 读取了。本身。这是因为

QNetworkReply is a sequential-access QIODevice, which means that once data is read from the object, it no longer kept by the device.



根据 detailed descriptionQNetworkReply .

然而 QWebPage可以配置为使用自定义 QNetworkAccessManager 覆盖 createRequest方法
QNetworkReply * QNetworkAccessManager::createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData = 0 )

我认为正确的解决方案是为 QNetworkReply 创建一个代理并返回 createRequest方法。这个代理应该允许从回复中读取数据,就像原始 QNetworkReply 一样。 (以便 QWebPage 可以从中读取数据)但同时该代理应该允许其他对象在被 QWebPage 读取后读取数据。 .换句话说,我们需要 teeQNetworkReplyIODevice基类。

这个代理怎么写?

最佳答案

看起来有人已经想要了并写道 a proxy for the QNetworkReply .

关于qt - 如何从 QWebPage 使用的 QNetworkReply 读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475647/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com