0

アプリケーションをWebサービスに接続しようとしていますが、ここで、ユーザーがカスタムヘッダーをアプリケーションに送り返すように提案しました。

私はこのコードを使用しています

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」を取得するにはどうすればよいですか?

4

1 に答える 1

3

void QNetworkReply::metaDataChanged ()返信の信号にスロットを接続することをお勧めします。

Qtドキュメントによると

このシグナルは、この応答のメタデータが変更されるたびに発行されます。メタデータは、ネットワークヘッダーを含む、コンテンツ(データ)自体ではない情報です。ほとんどの場合、メタデータはデータの最初のバイトが受信されるまでに完全に認識されます。ただし、データの処理中にヘッダーまたはその他のメタデータの更新を受信することは可能です。

Qtでweb-services/clientを使用していますが、期待したときに一部のヘッダーの情報が利用できないことに気付きました。このシグナルがヘッダーの内容をチェックするのを「待つ」必要がありました。

于 2011-07-21T15:05:34.580 に答える