当前位置: 首页 > 编程笔记 >

iOS UIWebView 通过 cookie 完成自动登录实例

冯星阑
2023-03-14
本文向大家介绍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!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程

 类似资料:
  • 本文向大家介绍jsp cookie+session实现简易自动登录,包括了jsp cookie+session实现简易自动登录的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果

  • 我有一个批处理文件,其中有用户名和密码登录以下格式的网站在第16行第5个字是用户名,第7个字是密码。 启动VPNGUI-c-用户1000-pwd 123456 我需要一个关于JavaScript的帮助,它应该打开网站主页,阅读批量文件收集用户名和密码,自动填写用户名和密码在主页上,并使用发送键登录。我已经尝试过使用vbscript,下面是我的代码,但我需要Java版本,它应该允许用户一次点击就自动

  • 本文向大家介绍php利用cookie实现自动登录的方法,包括了php利用cookie实现自动登录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php利用cookie实现自动登录的方法。分享给大家供大家参考。具体实现方法如下: html前端页面代码如下: 后端PHP代码如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 主要内容:注册登录,分析网页结构,编写完整程序在使用爬虫采集数据的规程中,我们会遇到许多不同类型的网站,比如一些网站需要用户登录后才允许查看相关内容,如果遇到这种类型的网站,又应该如何编写爬虫程序呢?Cookie 模拟登录技术成功地解决了此类问题。 Cookie 是一个记录了用户登录状态以及用户属性的加密字符串。当你第一次登陆网站时,服务端会在返回的 Response Headers 中添加 Cookie, 浏览器接收到响应信息后,会将 Co

  • 问题内容: 我正在使用jQuery UI自动完成功能。我可以将其与jQuery UI提供的示例一起使用,如下所示: 这可以正常工作。但是我需要使用JSON作为数据源,可以像这样检索它:http://mysite.local/services/suggest.ashx?query = ball 如果要转到该URL,我将像这样返回JSON: 如何使用我的URL作为数据源? 我试过像这样更改source

  • 我正在尝试自动登录到我的应用程序,其中使用了谷歌sso身份验证。但是,登录表单返回错误“此浏览器或应用程序可能不安全”。我将我的google帐户选项设置为允许不太安全的应用程序,但仍然没有。 我浏览了几个主题: GMail正在阻止通过自动化(Selenium)登录 Selenium Google登录块 使用python和selenium自动登录Google显示“此浏览器或应用程序可能不安全” 谷歌