我正在尝试将我的应用程序与Web服务和here连接,用户建议将自定义标头发送回我的应用程序。
我正在使用此代码
void Coonnec::serviceRequestFinished(QNetworkReply *reply)
{
QByteArray bytes = reply->readAll();
if (reply->error() != QNetworkReply::NoError) {
qDebug() << "Reply error: " + reply->errorString();
}
else
{
qDebug() << "Uploaded: " + QDateTime::currentDateTime().toString();
qDebug() << reply->rawHeaderList();
}
reply->close();
bytes.clear();
reply->deleteLater();
}
从php发送此标题
header('XAppRequest-Status: complete');
当运行应用程序时,我可以看到我得到这个标题,但我不能接受它的值
reply->rawHeader(bytes);
什么都不返回。
我如何才能将价值“完整”?
答案 0 :(得分:3)
我建议将一个插槽连接到您回复的void QNetworkReply::metaDataChanged ()
信号。
Qt doc说
只要此回复中的元数据发生更改,就会发出此信号。 元数据是不是内容(数据)本身的任何信息, 包括网络标题。在大多数情况下,元数据 将在收到第一个数据字节时完全知道。 但是,可以接收标题或其他的更新 处理数据时的元数据。
我确实使用了Qt的web服务/客户端,我注意到一些标题的信息在我预期的时候是不可用的!我不得不“等待”这个信号来检查标题内容。