webView下登录问题

来源:互联网 发布:电影比价软件 编辑:程序博客网 时间:2024/05/17 05:58

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];
0 0
原创粉丝点击