iOS Cookie相关操作

注:CookieData是我的自定义对象,继承SQLitePersistentObject
@interface CookieData : SQLitePersistentObject

@property(nonatomic,retain)NSString *mname;
@property(nonatomic,retain)NSString *mvalue;
@property(nonatomic,retain)NSString *mdomain;
@property(nonatomic,retain)NSString *mpath;

@end

#pragma -#pragma mark cookie相关
/**
 *     @brief    保存cookie信息
 *    
 *    登陆成功后保存
 */
+(void)saveCookie{
   for(CookieData *_d in [CookieData allObjects]){
        [_d deleteObject];
    }
   NSHTTPCookieStorage *sharedHTTPCookie=[NSHTTPCookieStorage sharedHTTPCookieStorage];
   NSArray *_cookies=[sharedHTTPCookie cookies];
   for(int i=0; i<[_cookies count]; i++) {
       NSHTTPCookie *_cookie=[_cookies objectAtIndex:i];
       CookieData *_cookieData=[[CookieData alloc]init];
        _cookieData.mname=[_cookie name];
        _cookieData.mvalue=[_cookie value];
        _cookieData.mpath=[_cookie path];
        _cookieData.mdomain=[_cookie domain];
        [_cookieData save];
        [_cookieData release];
    }
}
/**
 *     @brief    恢复cookie信息
 *    
 *    请求weblogid时恢复
 */
+(void)recoverCookie{
     NSHTTPCookieStorage *sharedHTTPCookie=[NSHTTPCookieStorage sharedHTTPCookieStorage];
     NSArray *_cookiesDB=[CookieData allObjects];
     for(int i=0; i<[_cookiesDB count]; i++) {
          CookieData* _cookieData=[_cookiesDB objectAtIndex:i];
          //Create a cookie
          NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease];
          [properties setValue:_cookieData.mvalue forKey:NSHTTPCookieValue];
          [properties setValue:_cookieData.mname forKey:NSHTTPCookieName];
          [properties setValue:_cookieData.mdomain forKey:NSHTTPCookieDomain];
          [properties setValue:[NSDatedateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];
          [properties setValue:_cookieData.mpath forKey:NSHTTPCookiePath];
          NSHTTPCookie*cookie = [[[NSHTTPCookie alloc] initWithProperties:properties] autorelease];
          [sharedHTTPCookie setCookie:cookie];
     }
}

wKioL1TRmHvjMyf5AADjBsfhtbc007.jpg

你可能感兴趣的:(cookie,NSHTTP,CookieStorage)