Russian Qt Forum

Qt => Работа с сетью => Тема начата: qtuser от Ноябрь 29, 2007, 17:46



Название: QHttp и Cookie
Отправлено: qtuser от Ноябрь 29, 2007, 17:46
Помогите разобраться, как работать с куками. Формирую запрос для логина на сервер с помощью QHttpRequestHeader. Отправляю. Получаю ответ с кодом 408 (The time allowed for the login process has been exceeded), такой же ответ получаю при отключенных в браузере cookies. Назначить можно так: http->setValue("Cookie", cookie), прочитать "Set-Cookie", пришедшие от сервара, можно с помощью QHttpResponseHeader и слота responseHeaderReceived. Т.е. что бы назначить куки надо отправить запрос на логин, в ответ на который сервер отправит их и потом опять отправлять запрос на логин, но уже с куками? Помогите разобраться.


Название: Re: QHttp и Cookie
Отправлено: sendevent от Май 19, 2008, 13:30
Вряд ли актуально, но все же:
Авторизация обычно осуществляется через пост-форму. В случае использования "человеческого" браузера сначала запрашивается страница с этой самой формой, при выдаче которой сервер и присылает куки:
get /index.php
...
200 - ok
set-cookie: cake_from_index.php
...
post /login.php
cookie: cake_from_index.php
Обычно в таких куках может лежать либо константа - тогда ее можно просто продублировать "статически", либо сгенеренная на основе полей реквест-пакета/адреса клиента информация - при желании можно определить алгоритм генерации и повторить, либо "какаято фигня, генерируемая серваком непойми как, но воспроизвести не получается" - всякие идентификаторы сессий и т.п. В любом случае, проще и надежнее всосать-таки эту страницу и использовать "настоящие" куки.