注: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];
}
}
