2010-10-18 5 views
1

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

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

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

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

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

ответ

1

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

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

[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [URL absoluteURL]]

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