Можно ли сохранить сеанс с помощью NSURLConnection, делая разные запросы? - PullRequest
3 голосов
/ 14 февраля 2012

Я использую NSRULConnection для выполнения http-запроса на моем приложении для iphone.Все работает просто отлично.

Проблема в том, что после входа в систему мне нужно сохранять тот же сеанс для получения данных с сервера.

Я прочитал несколько сообщений, в которых говорилось, что все, что мне нужно, это использовать один и тот жеэкземпляр NSURLConnection, и он будет использовать тот же сеанс ... если это правда, это не имеет смысла для меня, потому что NSURLConnection не является изменяемым и нет способа изменить запрос, так как я должен получить доступ к различным страницам.

Есть ли простой способ сохранить сеанс с использованием NSURLConnection.

1 Ответ

0 голосов
/ 17 мая 2012

Если вы управляете сеансами с помощью файлов cookie, нет необходимости делать что-то особенное для обеспечения управления сеансами. Система загрузки URL автоматически отправляет любые сохраненные файлы cookie, подходящие для NSURLRequest. если в запросе не указано, что куки не отправляются. Таким образом, ваши сеансы должны управляться автоматически для вас.

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

Другой способ, с которым я сталкивался чаще, - это получить идентификатор сеанса как часть ответа для успешного входа в систему и включить этот идентификатор во все последующие запросы в качестве параметра. Хотя это потребует серьезных изменений в способе обработки сервером сеансов.

...