我正在尝试将所有传出的 POST 数据保存在 QtWebKit 中。
我使用覆盖QNetworkReply *QNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevicegivingData )方法并读取包含传出 POST 数据的传出数据。
问题是读取后,数据在 QIODevice 中变得不可用。
如何保存传出(PUT、POST)数据并使其可用于未来的内部 Qt 操作?
如果我需要使用另一种方法来保存 PUT/POST 数据 - 请告诉我。
代码示例:
QNetworkReply *MyNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
{
QByteArray bArray = outgoingData->readAll();
// save bArray (that contains POST outgoing data) somewhere
// do other things, and outgoingData now has no data anymore, as it was already read to bArray
}
我试过了
QByteArray bArray = outgoingData->readAll();
outgoingData->write(bArray);
qDebug() << bArray;
但在这种情况下,我收到“QIODevice::write:ReadOnly device”消息。
如何在 Qt 中保存传出的 POST/PUT 数据?
谢谢。