AFNetworking-cookies 的使用

[objc]  view plain copy
  1. </pre><p></p><pre name="code" class="objc">关于AFNetworking的 cookies的使用:  
  2.    默认情况下AFNetWorking支持cookies.比如在调用登陆接口后,会保存cookies.在请求其他接口时,会携带cookies给服务器那边.  
  3.    这里有个问题,如果要设置请求登陆时不保存cookies,这里可以在AFHTTPSessionManager设置 [self.requestSerializer setHTTPShouldHandleCookies:NO]来实现.  
  4.    如果项目中要实现自己获取,删除cookies,方法如下:  
[objc]  view plain copy
  1.  1.获取登陆请求成功后保存的cookies:  
  2. + (NSString *)cookieValueWithKey:(NSString *)key  
  3. {  
  4.     NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];  
  5.   
  6.     if ([sharedHTTPCookieStorage cookieAcceptPolicy] != NSHTTPCookieAcceptPolicyAlways) {  
  7.         [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];  
  8.     }  
  9.   
  10.     NSArray         *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"http://192...."]];  
  11.     NSEnumerator    *enumerator = [cookies objectEnumerator];  
  12.     NSHTTPCookie    *cookie;  
  13.     while (cookie = [enumerator nextObject]) {  
  14.         if ([[cookie name] isEqualToString:key]) {  
  15.             return [NSString stringWithString:[[cookie value] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];  
  16.         }  
  17.     }  
  18.   
  19.     return nil;  
  20. }  
 
[objc]  view plain copy
  1. 2.删除cookies (key所对应的cookies) ///因为cookies保存在NSHTTPCookieStorage.cookies中.这里删除它里边的元素即可.  
  2. + (void)deleteCookieWithKey:(NSString *)key  
  3. {  
  4.     NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];  
  5.   
  6.     NSArray *cookies = [NSArray arrayWithArray:[cookieJar cookies]];  
  7.   
  8.     for (NSHTTPCookie *cookie in cookies) {  
  9.         if ([[cookie name] isEqualToString:key]) {  
  10.             [cookieJar deleteCookie:cookie];  
  11.         }  
  12.     }  
  13. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值