您的位置:首页 > 移动开发 > IOS开发

iOS Cookie相关操作

2015-02-04 11:53 369 查看
注: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];
}
}



本文出自 “码路” 博客,请务必保留此出处http://roybaby.blog.51cto.com/1508945/1611372
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: