因cookie的path项不正确导致的登录失败 - 主打产品 - 长春市隆兴伟业物流有限公司
现在的位置: 主页 > 主打产品 > 文章正文
因cookie的path项不正确导致的登录失败
作者:长春市隆兴伟业物流有限公司 来源:www.lxwywl.com 发布时间:2017-09-08 21:58:53
因cookie的path项不正确导致的登录失败 一个reques是否在头中加入一个cookie,依据的就是请求的url和cookie的domain、path两项都匹配,


NSDictionary *properties = [NSDictionary dictionaryWithObjectsAndKeys:
@"www.google.com", NSHTTPCookieDomain,
@"/abc", NSHTTPCookiePath, // IMPORTANT!
@"testCookies", NSHTTPCookieName,
@"1", NSHTTPCookieValue,
nil];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:properties];


如上面的cookie,
对www.google.com/abc的请求,这个cookie会附加在请求的头中,

对www.google.com/123的请求,则不会加入。


工作中,登录的url是 www.domain.com/user,

取数据的url是www.domain.com/data.

在登录后,专题,无法取得数据,原来,是登录后,服务端返 回的cookie的path是/user。

这个cookie在/data的请求中是不加入头的,因为服务端不知找谁改,所以只好在客户端修改cookie了:



NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:urlPath]];
NSEnumerator *enumerator = [cookies objectEnumerator];
NSHTTPCookie *cookie;
while (cookie = [enumerator nextObject])
{
if ([[cookie name] isEqualToString:@"JSESSIONID"])
{
NSMutableDictionary *propscook = [[NSMutableDictionary alloc] initWithDictionary: [cookie properties]];


propscook[@"Path"] = @"http://www.2cto.com/";

[sharedHTTPCookieStorage deleteCookie:cookie];

NSHTTPCookie *newcookie = [NSHTTPCookie cookieWithProperties:propscook];
[sharedHTTPCookieStorage setCookie:newcookie];

break;
}
}

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:潜江SEO http://qianjiang.4567w.com


  • 上一篇:HTML5的22个技巧
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 长春市隆兴伟业物流有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100