IOS cookie功能

本來以爲自定義cookie能夠把一個域中的cookies,帶給另外一個域來使用.實際中沒有考慮到服務器也是根據域進行邏輯限定的,最終無法使用的.

下面的代碼當作證明過程中的一個關鍵部分實現吧.


[objc] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. NSArray *tmp_Cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:@"http://www.thirtydevs.com"]];  
  2.  NSLog(@"1:%@",[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]);  
  3. for (NSHTTPCookie *cookie in tmp_Cookies)  
  4. {  
  5.     //從cookies中獲取sessionid並保存.  
  6.     if ([[cookie domain] isEqualToString:@"www.thirtydevs.com"]) {  
  7.         NSDictionary *cookieProperties = [[NSMutableDictionary alloc]init];  
  8.           
  9.         [cookieProperties setValue:[cookie value] forKey:NSHTTPCookieValue];  
  10.         [cookieProperties setValue:[cookie name forKey:NSHTTPCookieName];  
  11.         [cookieProperties setValue:@"m.thirtydevs.com" forKey:NSHTTPCookieDomain];  
  12.         //沒有增加新cookie也許是由於沒有把NSHTTPCookieExpires和NSHTTPCookiePath設置好.  
  13.         [cookieProperties setValue:nil forKey:NSHTTPCookieExpires];  
  14.         [cookieProperties setValue:[cookie path] forKey:NSHTTPCookiePath];  
  15.           
  16.         NSHTTPCookie *ncookie = [[NSHTTPCookie alloc] initWithProperties:cookieProperties];  
  17.         [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:ncookie];  
  18.         [ncookie release];  
  19.         break;  
  20.     }  
  21. }  
  22. NSLog(@"2:%@",[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章