正在读取HTTP标头 [英] Reading HTTP headers

查看:39
本文介绍了正在读取HTTP标头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我的应用程序与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);

不返回任何内容。

如何获取值"Complete"?

推荐答案

我建议将插槽连接到您回复的void QNetworkReply::metaDataChanged ()信号。

Qt文档上写着

只要此回复中的元数据发生更改,就会发出此信号。 元数据是不是内容(数据)本身的任何信息, 包括网络报头。在大多数情况下,元数据 将在接收到数据的第一个字节时完全知道。 但是,可以接收标头或其他 数据处理过程中的元数据。

我确实使用了带有Qt的Web服务/客户端,我注意到一些标题信息在我预期的时候是不可用的!我必须‘等待’此信号来检查标题内容。

这篇关于正在读取HTTP标头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆