QNetworkAccessManager::post(QNetworkRequest,QByteArray)
有没有办法在客户端调用期间(或之后)查看将发送(或已发送)的数据?
换句话说,我想完整地查看原始 HTTP 请求:
POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 19
name=need&just=tosee
QNetworkAccessManager::post(QNetworkRequest,QByteArray)
有没有办法在客户端调用期间(或之后)查看将发送(或已发送)的数据?
换句话说,我想完整地查看原始 HTTP 请求:
POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 19
name=need&just=tosee
我不得不调试我的请求已经有一段时间了,Qt 中的事情可能已经改变,但我必须使用各种函数访问请求的不同部分才能获取所有详细信息。
我为 post 函数创建了一个包装器,它将在发布请求之前打印详细信息。这是一个提取和打印 URL、原始标题和数据的代码片段,例如:
void debugRequest(QNetworkRequest request, QByteArray data = QByteArray())
{
...
qDebug() << request.url().toString();
const QList<QByteArray>& rawHeaderList(request.rawHeaderList());
foreach (QByteArray rawHeader, rawHeaderList) {
qDebug() << request.rawHeader(rawHeader);
}
qDebug() << data;
...
}