在发送QNetworkRequest数据之前访问它?

10

有没有办法在客户端端查看(或在调用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
1个回答

13

我已经有一段时间没有调试我的请求了,Qt 的一些东西可能已经改变了,但我必须使用各种函数来访问请求的不同部分以获取所有详细信息。

我创建了一个包装器来打印详情,然后再发送请求。以下是一个代码片段,可以提取和打印 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;
  ...
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接