2010-10-18 6 views
1

Je construis un client Reddit, pour l'iPad et l'iPhone. Je sais qu'il y a d'autres clients, mais j'ai quelques idées vraiment cool pour la navigation Reddit à onglets: DTraiter les cookies et Reddit sur l'iPhone

Anywho, je travaille d'abord sur le back-end de la chose, et je me demandais quelle est la meilleure façon de traiter mon cookie serait. J'utilise ASIFormDataRequest et ASIHTTPRequest pour obtenir le cookie et faire les demandes pour les histoires, et les subreddits utilisateur. Ma question est: comment puis-je savoir quand le cookie a expiré et que je ne suis plus connecté?

Une solution stupide (à mon avis) serait de se connecter à nouveau avant de faire toute sorte de demande de données ... mais cela semble, bien, stupide.

Une autre solution serait de vérifier spécifiquement les différentes réponses pour différentes demandes à Reddit et dériver mon statut connecté.

Un moyen encore meilleur, serait de voir en quelque sorte si j'ai un cookie dans le cookie de l'iPhone qui est associé à Reddit, et si je ne le fais pas, connectez-vous. Alors, y at-il un moyen de le faire?

Répondre

1

Je n'ai pas de connaissances spécifiques sur reddit, cependant la façon habituelle de gérer cela serait de faire la demande, puis voir si vous avez eu une erreur en disant "Non connecté" comme réponse.

Vérification pour voir s'il y a un cookie dans le magasin est possible ou non, avec

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

cela, vous ne dira si le cookie est valide - il pourrait avoir expiré du côté du serveur ou être devenu invalide côté serveur - vous devrez donc vérifier les réponses pour les erreurs "Non connecté". (Bien que la documentation de l'API indique que reddit ne définit que les cookies de session, ils n'apparaissent jamais dans le magasin persistant. Dans ce cas, vous pouvez utiliser [ASIHTTPRequest sessionCookies] pour voir les cookies.)