我正在为iPad和iPhone构建一个Reddit客户端。我知道还有其他一些客户,但我对标签式Reddit浏览有一些很酷的想法:D
Anywho,我首先在事情的后端工作,并且想知道处理我的cookie的最佳方法是什么。我正在使用ASIFormDataRequest和ASIHTTPRequest获取cookie并发出故事请求和用户subreddits。我的问题是,我怎么知道cookie什么时候过期而且我还没有登录?
一个愚蠢的解决方案(在我看来)只是在发出任何类型的数据请求之前再次登录......但这似乎是愚蠢的。
另一个解决方案是专门检查针对Reddit的不同请求的不同响应,并导出我的登录状态。
一种更好的方式,就是以某种方式看看我在iPhone的cookie商店中是否有与Reddit相关的cookie,如果我没有,请登录。那么,有没有办法做到这一点? / p>
答案 0 :(得分:1)
我没有关于reddit的任何具体知识,但是处理此问题的通常方法是发出请求,然后查看是否有错误说“未登录”作为响应。
使用
检查商店是否有饼干[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[url absoluteURL]]
然而,这不会告诉您cookie是否有效 - 它可能已在服务器端过期或可能在服务器端变为无效 - 因此您仍然必须检查“未登录”错误的响应。 (尽管从API文档中可以看出reddit只设置了会话cookie,因此它们永远不会出现在持久性存储中 - 在这种情况下,您可以使用[ASIHTTPRequest sessionCookies]来查看cookie。)