访问 QNetwork请求数据,然后再发送数据



是否有任何方法可以查看在客户端调用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;
  ...
}

相关内容

  • 没有找到相关文章

最新更新