Russian Qt Forum

Qt => Работа с сетью => Тема начата: zosia от Сентябрь 11, 2009, 19:03



Название: QHttpResponseHeader и заголовки
Отправлено: zosia от Сентябрь 11, 2009, 19:03
Здравствуйте,

подскажите, пожалуйста, как из QHttpResponseHeader .values() выбрать нужный заголовок и конвертировать в QString, если их с одинаковым параметром аж целых 3?

т.е. например, в заголовках ответа сервера мы видим:

Set-Cookie: check=8; expires=Fri, 03-Sep-2010 00:24:44 GMT; path=/;
Set-Cookie: done=22; expires=Mon, 09-Sep-2010 06:14:32 GMT; path=/;
Set-Cookie: lost=19; expires=Sat, 11-Sep-2010 02:22:12 GMT; path=/;

если бы была одна строка, то:

QString return_value = responseHeader.value("set-cookie");
return_value = return_value.section(";", 0, 0);

а так он возвращает только первую строку с Set-Cookie, как например вытащить третию строку?

void wnd::Response(const QHttpResponseHeader &responseHeader){
QList< QPair<QString, QString> > values_list;
values_list.append(responseHeader.values());
// вот тут не знаю как дальше из value_list вытащить и выконвертировать это (((
}


Название: Re: QHttpResponseHeader и заголовки
Отправлено: Rcus от Сентябрь 11, 2009, 19:23
/* Чувствует какой-то подвох */ Эм а в чем проблема? Итерация по QList возможна как минимум тремя способами, QPair тоже предоставляет доступ к элементам. Линейный поиск вручную конечно неинтересно, если хочется то можно и find_if'ом с предикатом на boost::bind описать это :D


Название: Re: QHttpResponseHeader и заголовки
Отправлено: zosia от Сентябрь 12, 2009, 02:13
> Эм а в чем проблема?
я не знаю, как дальше из value_list вытащить, например вторые данные (данные второй строки) *set-cookie*, и конвертировать их в QString


Название: Re: QHttpResponseHeader и заголовки
Отправлено: SimpleSunny от Сентябрь 12, 2009, 11:34
Код
C++ (Qt)
void wnd::Response(const QHttpResponseHeader &responseHeader){
QList< QPair<QString, QString> > values_list;
values_list.append(responseHeader.values());
 
//один из способов
for (int i = 0; i < values_list.size(); ++i)
    qDebug() << values_list[i].first << values_list[i].second
}


Название: Re: QHttpResponseHeader и заголовки
Отправлено: zosia от Сентябрь 12, 2009, 14:12
Спасибо)