1

我正在为 iPad 和 iPhone 构建一个 Reddit 客户端。我知道还有其他一些客户,但我对标签式 Reddit 浏览有一些非常酷的想法:D

Anywho,我首先在后端工作,并且想知道处理我的 cookie 的最佳方法是什么。我正在使用 ASIFormDataRequest 和 ASIHTTPRequest 来获取 cookie 并请求故事和用户 subreddits。我的问题是,我如何知道 cookie 何时过期而我不再登录?

一个愚蠢的解决方案(在我看来)是在发出任何类型的数据请求之前再次登录......但这似乎很愚蠢。

另一种解决方案是专门检查对 Reddit 的不同请求的不同响应,并得出我的登录状态。

更好的方法是,以某种方式查看我在 iPhone 的 cookie 存储中是否有与 Reddit 相关联的 cookie,如果没有,请登录。那么,有没有办法做到这一点?

4

1 回答 1

1

我对 reddit 没有任何具体的知识,但是处理这个问题的通常方法是发出请求,然后查看你是否收到错误消息“未登录”作为响应。

检查商店中是否有 cookie 是可能的,使用

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

但是,这不会告诉您 cookie 是否有效 - 它可能在服务器端已过期或可能在服务器端变得无效 - 因此您仍然需要检查“未登录”错误的响应。(尽管从 API 文档中可以看出 reddit 只设置会话 cookie,因此它们永远不会出现在持久存储中 - 在这种情况下,您可以使用 [ASIHTTPRequest sessionCookies] 来查看 cookie。)

于 2010-10-18T07:18:41.700 回答