iOS中的Cookie

Cookie定义:

   就是将服务器传回的响应数据中的key值,保存到客户端本地,以后所有发往服务器的请求中,都将保存在本地的cookie值,放到请求头中,带给服务器。目的是有助于服务器区分客户端、保持长期的联系。

 

Cookie的获取与本地存取代码示例:

 1  //1. 第一步、找到所有请求统一回调的函数
 2 
 3  - (void)handleRequestResult:(AFHTTPRequestOperation *)operation {
 4         //读取响应头中的Cookie、并保存到本地  
 5         [self saveCookies:operation];
 6         
 7         // .... 其他后续操作                
 8  }
 9 
10 //2. 保存responseHeader中的服务器传回的cookie
11  - (void)saveCookies:(AFHTTPRequestOperation *)operation
12  {
13      NSInteger code = [[operation.responseObject objectForKey:@"code"] integerValue];
14      
15      if (!(code == 6)) {
16          
17          NSDictionary *dic = operation.response.allHeaderFields;
18          NSString *cookiesStr = [dic objectForKey:@"Set-Cookie"];
19          NSRange cookieRange = [cookiesStr rangeOfString:@"IHOME_FRONT_SID="];
20         
21          if (cookieRange.length != 0) {
22              NSString *cookiesSub = [cookiesStr substringFromIndex:cookieRange.location];
23              NSRange tmpRange = [cookiesSub rangeOfString:@";"];
24              NSString *cookie = [cookiesSub substringToIndex:tmpRange.location];
25 
26              if ([cookie zsy_isValid]) {
27                  [ZSYObjectCacheManager setCookie:cookie];
28              }
29          }
30          
31      } else {
32  //        [ZSYObjectCacheManager removeCookie];
33      }
34  }

 

posted on 2015-07-06 22:14  ZainH  阅读(483)  评论(0)    收藏  举报