如何设置AFNetworking和SDWebImage的cookie

1.AFNetworking框架添加cookie

其实,我个人在项目开发的过程中觉得AFNetworking框架它会自动把cookie保存下来的。

通过以下方法可以找到cookie:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
并且AFNetworking在下一次请求的时候会去NSHTTPCookieStorage里找到cookie自动带上cookie的,它是不需要手动去设置的。

如果非要去添加某些参数的话,也是有方法的。以下是我复制过来的方法。

 - (void)saveCookies{

    NSData *savecookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject: savecookiesData forKey: @"sessionCookies"];
    [defaults synchronize];

}

- (void)loadCookies{

    NSArray *loadcookiesarray = [NSKeyedUnarchiver unarchiveObjectWithData: [[NSUserDefaults standardUserDefaults] objectForKey: @"sessionCookies"]];
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

    for (NSHTTPCookie *cookies in loadcookiesarray){
        [cookieStorage setCookie: cookies];
    }

}

2.SDWebImage添加cookie

SDWebImage很简单,点开请求图片方法的源代码,大概往里边点三、四层吧。会看到一行代码:

request.HTTPShouldHandleCookies = NO;
把NO改成YES。SDWebImage的cookie就添加好了。

那么有人会问怎么设置 SDWebImage的cookie的内容呢?
其实不用设置的,它会自动 NSHTTPCookieStorage里的cookie在请求的时候带上的。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

经过一段时间的实践发现我的想法是错误的。它只能自动保存jsessionId,如果要传递其他参数还需要手动添加。

下面是我之后又写的一篇关于cookie的文章,以供大家参考。如有疑问请留言。对于上面的误导深表歉意。

http://blog.csdn.net/larknan/article/details/43639759


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值