Чтение заголовков HTTP - PullRequest
0 голосов
/ 21 июля 2011

Я пытаюсь подключить свое приложение к веб-службе, а здесь , пользователь предложил отправить пользовательские заголовки обратно в мое приложение.

Я использую этот код

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'?

1 Ответ

3 голосов
/ 21 июля 2011

Я предлагаю подключить слот к сигналу void QNetworkReply::metaDataChanged () вашего ответа.

Док Qt говорит:

Этот сигнал испускается всякий раз, когда метаданные в этом ответе изменяются.Метаданные - это любая информация, которая не является самим контентом (данными), включая заголовки сети.В большинстве случаев метаданные будут полностью известны к моменту получения первого байта данных.Тем не менее, можно получать обновления заголовков или других метаданных во время обработки данных.

Я использую web-services / client с Qt, и я заметил, что некоторая информация заголовка недоступна, когдаЯ ожидал, что это будет!Мне пришлось «подождать», пока этот сигнал проверит содержимое заголовка.

...