1.获取html下的cookie
NSArray *nCookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
NSHTTPCookie *cookie;
for (id c in nCookies)
{
if ([c isKindOfClass:[NSHTTPCookie class]])
{
cookie=(NSHTTPCookie *)c;
if ([cookie.name isEqualToString:@"userid"]) {
NSNumber *sessionOnly = [NSNumber numberWithBool:cookie.sessionOnly];
NSNumber *isSecure = [NSNumber numberWithBool:cookie.isSecure];
NSArray *cookies = [NSArray arrayWithObjects:cookie.name, cookie.value, sessionOnly, cookie.domain, cookie.path, isSecure, nil];
[[NSUserDefaults standardUserDefaults] setObject:cookies forKey:@"cookies"];
break;
}
}
}
2.加载网页之前,把之前的存的cookie拿出来就行了。
NSArray *cookies =[[NSUserDefaults standardUserDefaults] objectForKey:@"cookies"];
if (cookies.count>3) {
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:[cookies objectAtIndex:0] forKey:NSHTTPCookieName];
[cookieProperties setObject:[cookies objectAtIndex:1] forKey:NSHTTPCookieValue];
[cookieProperties setObject:[cookies objectAtIndex:3] forKey:NSHTTPCookieDomain];
[cookieProperties setObject:[cookies objectAtIndex:4] forKey:NSHTTPCookiePath];
NSHTTPCookie *cookieuser = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookieuser];
}
3.退出登录的时候清一下NSUserDefaults
if ([requestString isEqualToString:@"xxx"]){
statusBarView.backgroundColor = [UIColor colorWithRed:139/255.0 green:186/255.0 blue:47/255.0 alpha:1];
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"cookies"];
[[NSUserDefaults standardUserDefaults] synchronize];