成都网站建设设计

将想法与焦点和您一起共享

iOSUIWebView如何通过cookie完成自动登录-创新互联

这篇文章主要为大家展示了“iOS UIWebView如何通过cookie完成自动登录”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“iOS UIWebView如何通过cookie完成自动登录”这篇文章吧。

站在用户的角度思考问题,与客户深入沟通,找到长治网站设计与长治网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、成都外贸网站建设公司、企业官网、英文网站、手机端网站、网站推广、空间域名、雅安服务器托管、企业邮箱。业务覆盖长治地区。

1、相关介绍

iOS在UIWebView中获取的cookie的方法:NSHTTPCookieStorage * nCookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];

再具体获取某个域的cookie:NSArray* cookiesURL = [nCookies cookiesForURL:[NSURL URLWithString:@"你的URL"]];

通过[[NSHTTPCookieStorage sharedHTTPCookieStorage]  setCookie:userCookie]方法将 cookies来保存起来,但是这样虽然可以保存cookies但是你应用退出之后还是会丢失(其实是cookies过期的问题),做好的方法是把cookies放到NSUserDefaults保存起来.

2、实现

1.在UIWebView的代理方法中实现获取cookies并将cookies放到NSUserDefaults保存起来:- (void)webViewDidFinishLoad:(UIWebView*)webView中写入

- (void)webViewDidFinishLoad:(UIWebView*)webView{
  
  NSArray *nCookies = [[NSHTTPCookieStoragesharedHTTPCookieStorage] cookies];
  for (NSHTTPCookie *cookie in nCookies){
    if ([cookie isKindOfClass:[NSHTTPCookie class]]){
      
      if ([cookie.name isEqualToString:@"PHPSESSID"]) {
        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.获取cookies:运行之后,UIWebView加载url之前获取保存好的cookies,并设置cookies,

NSArray *cookies =[[NSUserDefaults standardUserDefaults] objectForKey:@"cookies"];
  if (cookies.count >0) {
    NSMutableDictionary *cookieProperties = [NSMutableDictionarydictionary];
    [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 = [NSHTTPCookiecookieWithProperties:cookieProperties];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookieuser];
  }

注意:要在[self.webView loadRequest:req];之前设置获取cookies!

以上是“iOS UIWebView如何通过cookie完成自动登录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站建设公司行业资讯频道!

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:iOSUIWebView如何通过cookie完成自动登录-创新互联
文章来源:http://chengdu.cdxwcx.cn/article/dphgjc.html