首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSHTTPCookieStorage访问会话cookies

使用NSHTTPCookieStorage访问会话cookies
EN

Stack Overflow用户
提问于 2010-07-16 13:23:02
回答 3查看 9.2K关注 0票数 3

我正在访问服务器的安全信息,它会根据请求向应用程序发送一堆cookie。问题是一些cookie是仅会话的,当我使用:

代码语言:javascript
复制
[NSHTTPCookie requestHeaderFieldsWithCookies:[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:theCookie]]

它不会返回名为JSESSIONID的会话,因此会导致问题。如果我NSLog完整的NSHTTPCookieStorage,它会显示会话类型,所以它们在那里,我就是找不到从存储中检索它们的方法。此外,我已经查看了cookie plist,会话cookie并没有存储在那里,但我认为这只是因为它们是基于会话的。

任何帮助都是非常感谢的。

编辑:这是我请求所有cookie时得到的代码片段:

代码语言:javascript
复制
<NSHTTPCookie version:0 name:@\"TheNameOfTheCookie\" value:@\"A variable number\" expiresDate:@\"(null)\" created:@\"301196844.000000\" sessionOnly:TRUE domain:@\"THE URL\" path:@\"/\" secure:FALSE comment:@\"(null)\" commentURL:@\"(null)\" portList:[]>

<NSHTTPCookie version:0 name:@\"JSESSIONID\" value:@\"A variable number\" expiresDate:@\"(null)\" created:@\"301196866.000000\" sessionOnly:TRUE domain:@\"The Same URL as above\" path:@\"/path\" secure:FALSE comment:@\"(null)\" commentURL:@\"(null)\" portList:[]>

现在,当我根据上述cookie中的URL请求cookie时,第一个得到了返回,第二个没有得到。

*注意:很抱歉必须删除某些项目,这些项目与预期不谋而合,与问题无关

EN

回答 3

Stack Overflow用户

发布于 2012-07-07 00:23:19

我有这个问题,原因是因为NSHTTPCookieDomain。cookies 必须具有相同的域

代码语言:javascript
复制
.... domain:@\"THE URL\" path:@\"/\" ....
.... domain:@\"The Same URL as above\" path:@\"/path\" ....

必须是

代码语言:javascript
复制
.... domain:@\"NAME-DOMAIN" path:@"/" ....

我只是改变了这一点,并将相同的域和路径放入工作

我的JSESSIONID:

代码语言:javascript
复制
<NSHTTPCookie version:0 name:"JSESSIONID" value:"7C9B0...........EB5" expiresDate:(null) created:2012-07-06 16:14:26 +0000 (3.63284e+08) sessionOnly:TRUE domain:"FOO" path:"/" isSecure:FALSE>
票数 2
EN

Stack Overflow用户

发布于 2010-07-17 05:58:46

请将您的问题分解为几个部分,首先检查

代码语言:javascript
复制
[[NSHTTPCookieStorage sharedHTTPCookieStorage]
    cookiesForURL:[NSURL URLWithString:theCookie]]

返回您认为它应该返回的内容。如果不是,请仔细查看theCookie的值。

票数 0
EN

Stack Overflow用户

发布于 2012-04-16 07:20:24

你传递给-cookiesForURL:的实际网址是什么?如果URL没有与您的JSESSIONID cookie条目中指定的路径匹配的路径(例如,http://example.com/path),则-cookiesForURL:方法不会返回它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3262142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档