Вопрос

Я создаю клиент Reddit для iPad и iPhone.Я знаю, что есть несколько других клиентов, но у меня есть несколько действительно классных идей для просмотра Reddit с вкладками: D

В любом случае, сначала я работаю над серверной частью этой штуки, и мне было интересно, как лучше всего поступить с моим файлом cookie.Я использую ASIFormDataRequest и ASIHTTPRequest для получения файлов cookie и отправки запросов на истории и пользовательские субредакты.Мой вопрос в том, как мне узнать, когда срок действия файла cookie истек и я больше не входил в систему?

Глупым решением (на мой взгляд) было бы просто снова войти в систему, прежде чем делать какой-либо запрос данных...но это кажется, ну, в общем, глупым.

Другим решением было бы специально проверить наличие разных ответов на разные запросы в Reddit и получить мой статус входа в систему.

Еще ЛУЧШИМ способом было бы каким-то образом узнать, есть ли у меня файл cookie в хранилище файлов cookie iPhone, связанном с Reddit, и, если у меня его нет, войти в систему.Итак, есть ли способ сделать это?

Это было полезно?

Решение

У меня нет никаких конкретных знаний о reddit, однако обычным способом справиться с этим было бы отправить запрос, а затем посмотреть, не появилось ли у вас сообщение об ошибке "Не вошел в систему" в качестве ответа.

Проверить, есть ли файл cookie в магазине или нет, можно с помощью

[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[url absoluteURL]]

однако это не сообщит вам, действителен ли файл cookie - срок его действия мог истечь на стороне сервера или он мог стать недействительным на стороне сервера, - поэтому вам все равно придется проверять ответы на наличие ошибок "Не вошел в систему".(Хотя из документации API следует, что reddit устанавливает только сессионные файлы cookie, поэтому они никогда не появятся в постоянном хранилище - в этом случае вы можете использовать [ASIHTTPRequest sessionCookies], чтобы просмотреть файлы cookie.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top