iOS-WKWebView携带cookie发送http请求,cookie失效
发送请求代码:
NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index";
NSURL *url = [NSURL URLWithString:testUrl];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:];
NSString *value = [NSString stringWithFormat:@"WAP_0000E86BEBFC4514987AE63ACF9D19Dd=123"];
[request setValue:value forHTTPHeaderField:@"Cookie"];
[_webView loadRequest:request];
结果:网页内跳转,cookie失效
问题原因分析:
WKWebView在第一次加载的时候携带cookie,然后在WKWebView中产生页面跳转的时候WKWebView自动清除了cookie,导致用户需要二次登录。
解决办法:
创建webView对象的时候,把cookie放到WKWebView中,实现所有请求都携带cookie。
以下是实现代码:(这里的cookie第一次请求的时候不起作用,在h5页面内再次跳转的时候才会起作用,不明原因)
WKUserContentController* userContentController = [[WKUserContentController alloc] init];
WKUserScript * cookieScript = [[WKUserScript alloc]initWithSource: [NSString stringWithFormat:@"document.cookie = 'WAP_COOKIE_ENABLE=1';
document.cookie = 'WAP_0000E86BEBFC4514987AE63ACF9D19Dd=%@';",user.WAP_0000E86BEBFC4514987AE63ACF9D19Dd] injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];
[userContentController addUserScript:cookieScript];
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.userContentController = userContentController;
[configuration.userContentController addScriptMessageHandler:self name:@"Redirect"];
self.webView = [[[WKWebView alloc] initWithFrame:self.view.bounds configuration:configuration] autorelease];
注意点:
1、创建webView的时候加了cookie,一开始发送请求的时候也要加上cookie,
2、保证一开始发送请求的cookie跟这里的cookie是一致的。
iOS-WKWebView携带cookie发送http请求,cookie失效的更多相关文章
- 与安卓联调,调用安卓那边的方法,获取到安卓传过来的数据,再携带这些数据发送axios请求,获取到用户的信息
第一步:js调用Android方法:接收Android传递过来的数据,并做处理 //参数一:调用java中的方法 submitFromWeb是方法名,必须和Android中注册时候的方法名称保持一 ...
- 详解 Cookie 纪要(vue.cookie,jquery.cookie简化)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://www.jeffjade.com/2016/10/31/115-summary-of-cookie/ 原文 ...
- 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
- ios wkwebview同步cookie ajax请求偶尔异常问题
let config = WKWebViewConfiguration.init() config.preferences = WKPreferences.init() config.preferen ...
- ios htttp网络请求cookie的读取与写入(NSHTTPCookieStorage)
当你访问一个网站时,NSURLRequest都会帮你主动记录下来你访问的站点设置的Cookie,如果 Cookie 存在的话,会把这些信息放在 NSHTTPCookieStorage 容器中共享,当你 ...
- Python3发送post请求,自动记住cookie
转载自:http://www.cnblogs.com/meitian/p/4607737.html 在做登录的post请求时,需要记住cookie,否则不能访问登录后的页面. 下面是登录的代码: #c ...
- postman:模拟发送一个需要cookie认证的请求
1.chrome 已安装插件intercept. 由于chrome安全的限制,发不出带cookie的请求.如果想要发送带cookie的请求,需要开启Interceptor. 2.chrome 浏览器要 ...
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...
- urllib2 post请求方式,带cookie,添加请求头
#encoding = utf-8 import urllib2import urllib url = 'http://httpbin.org/post'data={"name": ...
随机推荐
- ggplot2 上篇
title: "ggplot2 上篇" author: "li_volleyball" date: "2016年4月16日" output: ...
- 第一天 django
全栈增长工程师实战 http://growth-in-action.phodal.com/ 生成的代码和示例不一样,static 也要加上 from django.conf.urls import u ...
- Android学习笔记函数
//调用新的Activity Intent intent=new Intent(MainActivity.this,Main2Activity.class); startActivity(intent ...
- Why Reflection is slowly?(Trail: The Reflection API)
反射的使用 反射通常用于在JVM中应用程序运行中需要检查或者修改运行时行为的项目.这是一个相对高级的特性,并且仅仅可以被对深刻理解java原理的开发者使用.这里给出一个警告的意见,反射是一个强大的技术 ...
- ruby on rails validates uniqueness
最近在处理一个小功能,每个元素可以有多个图片,每个图片的name表示了它是背景图还是海报图, 需要对每个元素的图片name做一个唯一性验证,一个元素不能添加两个海报图, 需要使用的是validates ...
- .oi 小游戏
http://agar.io/ http://diep.io/ http://slither.io/ http://splix.io/ http://wilds.io/ http://kingz.io ...
- easyui只打开一个tab
下面是JS代码: var curr = null; //curr为当前tab的标题,在else中赋值 function addtab(href, tabtitle) { if (curr) { $(' ...
- css实现背景颜色线性渐变
http://www.qttc.net/201304316.html http://www.ruanyifeng.com/blog/2008/05/css_background_image_posit ...
- C++基础知识面试精选100题系列(21-30)[C++ basics]
[本文链接] http://www.cnblogs.com/hellogiser/p/100-interview-questions-of-cplusplus-basics-21-30.html [题 ...
- spring3 的restful API RequestMapping介绍
原文链接:http://www.javaarch.net/jiagoushi/694.htm spring3 的restful API RequestMapping介绍 在spring mvc中 @R ...