iOS UIWebView 通过 cookie 完成自动登录验证
来源:互联网 发布:github tensorflow 编辑:程序博客网 时间:2024/06/10 18:20
通过UIWebView登录后,会自动得到web服务器设置的cookie包括服务器中的seesionid。cookie不会自动保存在app里面,需要通过设置才能在下次启动app时获取。自动登录,需要设置header,才能将cookie带给web服务器。自动登录,需要web服务器端进行cookie验证方可登录。
实现流程:
1. 做好Sign in页面后,通过get或post递交表单给web服务器,可以通过下面的代码遍历得到的cookie。
NSHTTPCookieStorage *myCookie = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [myCookie cookies]) {
NSLog(@”%@”, cookie);
}
- 为了实现自动登录,需要将cookie保存下来,以便自动登录,只需要加上一行代码。
NSHTTPCookieStorage *myCookie = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [myCookie cookies]) {
NSLog(@”%@”, cookie);
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; // 保存
}
- 自动登录时,需要将上次保存的cookie取出来设置header拿给web服务器,代码如下。
// 寻找URL为HOST的相关cookie,不用担心,步骤2已经自动为cookie设置好了相关的URL信息
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:HOST]]; // 这里的HOST是你web服务器的域名地址
// 比如你之前登录的网站地址是abc.com(当然前面要加http://,如果你服务器需要端口号也可以加上端口号),那么这里的HOST就是http://abc.com
// 设置header,通过遍历cookies来一个一个的设置header
for (NSHTTPCookie *cookie in cookies){
// cookiesWithResponseHeaderFields方法,需要为URL设置一个cookie为NSDictionary类型的header,注意NSDictionary里面的forKey需要是@”Set-Cookie”
NSArray *headeringCookie = [NSHTTPCookie cookiesWithResponseHeaderFields:
[NSDictionary dictionaryWithObject:
[[NSString alloc] initWithFormat:@”%@=%@”,[cookie name],[cookie value]]
forKey:@”Set-Cookie”]
forURL:[NSURL URLWithString:HOST]];
// 通过setCookies方法,完成设置,这样只要一访问URL为HOST的网页时,会自动附带上设置好的header
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:headeringCookie
forURL:[NSURL URLWithString:HOST]
mainDocumentURL:nil];
}
- web服务器验证app带过来的cookie信息,来完成登录。
如果访问的页面没有cookie验证的代码,那么就访问那些*loginAction之类有验证cookie的页面再跳转,或者告诉同事在你访问的那个页面加个cookie验证登录的就行了。
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录验证
- iOS UIWebView 通过 cookie 完成自动登录
- uiwebview通过cookie自动登录
- Cookie免验证自动登录
- 通过COOKIE实现自动登录
- 通过COOKIE实现自动登录
- 使用cookie完成用户自动登录
- selenium通过cookie跳过登录验证
- jsp通过Cookie实现自动登录
- jsp通过Cookie实现网站自动登录
- jsp通过Cookie实现自动登录
- d3 miscellany 整理
- AOPR第一次破解失败如何处理
- iptables
- GridLayout的使用
- 中文乱码解决防范-奇特
- iOS UIWebView 通过 cookie 完成自动登录验证
- studio 快捷键
- unity脚本矩阵和shader内置矩阵区别联系 思考和梳理
- 地图与定位(四)导航划线
- firebug在console中使用cd(window)切换到iframe窗口
- Android之测试代码实现步骤:
- Redux各知识点介绍
- MySQL性能优化的最佳21条经验
- jquery代码实现通用选项卡特效功能