前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >浅谈iOS中的WKWebView添加cookie

浅谈iOS中的WKWebView添加cookie

作者头像
用户1451823
发布于 2018-09-13 07:41:51
发布于 2018-09-13 07:41:51
2.2K0
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337775

最近开发新功能,其中有加载网页的需求,而最近又了解到了WKWebView,说是耗内存小、加载速度快、与JS的交互好。因为需要与网页进行交互,而之前使用UIWebView发现与网页的交互并不是很好,于是这次决定使用WKWebView。

在体会着使用新控件且更好的控件的喜悦的时候,一个新的问题出现了--加载网页,后台无法及时获取cookie。后台无法及时获取cookie,在加载网页的时候就无法加载到正确的数据。(需要多加载几次网页,才能加载到正确的数据)

在查阅相关资料后,发现在使用WKWebView的时候需要我们手动添加cookie到网页中。而之前使用的UIWebView会自动cookie,所有也就不用我们担心后台无法及时获取cookie的问题。

在使用WKWebView的时候手动添加cookie:

NSMutableDictionary *cookieDic = NSMutableDictionary dictionary;

NSMutableString *cookieValue = NSMutableString stringWithFormat:@"";

NSHTTPCookieStorage *cookieJar = NSHTTPCookieStorage sharedHTTPCookieStorage;

for (NSHTTPCookie *cookie in cookieJar cookies) {

        cookieDic setObject:cookie.value forKey:cookie.name;

    }

// cookie重复,先放到字典进行去重,再进行拼接

for (NSString *key in cookieDic) {

NSString *appendString = [NSString stringWithFormat:@"%@=%@;", key, cookieDic valueForKey:key];

        cookieValue appendString:appendString;

    }

NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:NSURL URLWithString:self.url];

    request addValue:cookieValue forHTTPHeaderField:@"Cookie";

NSLog(@"添加cookie");

    self.webView loadRequest:request;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年12月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS的WebView——WKWebView
前言 在iOS8中,苹果推出了WKWebView。WKWebView有一个突出特点,就是内存占用少。 但作为一个全新的WebView,API相比于之前的UIWebView肯定会有所不同。今天就在这里记录一下WKWebView的基本使用。 Webview的使用,通常包含以下几个部分:浏览器的基本设置,浏览器的各种回调,浏览器中js如何调用原生方法。 WKWebView基本使用 self.webview = [[WKWebView alloc]init]; [self.view addSubvi
Oceanlong
2018/07/03
3.6K0
IOS WebView控件详解
概述 WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,WKWebView将逐步取代笨重的UIWebView。 相比UIWebView,WKWebView做了如下优化: WKWebView更多的支持HTML5的特性 WKWebView更快,占用内存可能只有UIWebView的1/3 ~ 1/4 WKWebView高达60fps的滚动刷新率和丰富的内置手势 WKWe
xiangzhihong
2018/02/06
5K0
WKWebView 那些坑
QQ空间开发团队
2017/08/15
17.5K2
iOS 和 H5 交互那些事 (UIWebView、WKWebView 总结篇)
1.OC与JS交互之UIWebView 创建一个UIWebView 并加载 _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height-20)]; _webView.delegate = self; _webView.scrollView.bounces = NO; / 添加 webiview [self.vie
陈雨尘
2018/06/07
4.2K0
iOS学习巩固笔记-UIWebView/JavaScript
2016-05-0908:24:25 发表评论 0℃热度 写一些平时看书学习iOS的笔记,基础的、进阶的都有,供以后回顾,也可以让刚开始学习的同学学习。 1 UIWebView简介 UIWebView
timhbw
2018/05/03
1.2K0
iOS下JS与OC互相调用(一)--UIWebView 拦截URL
最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换。顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊。目前我已知的JS 与 OC 交互的处理方式:
Haley_Wong
2018/08/22
3.6K0
iOS下JS与OC互相调用(一)--UIWebView 拦截URL
WKWebView的使用
WKWebView的使用 前言 最近项目中的UIWebView被替换为了WKWebView,因此来总结一下WKWebView的使用。 示例Demo:WKWebView的使用 本文将从以下几方面介绍WKWebView: 1、WKWebView涉及的一些类 2、WKWebView涉及的代理方法 3、网页内容加载进度条的实现 4、JS和OC的交互 5、本地HTML文件的实现 一、WKWebView涉及的一些类 WKWebView:网页的渲染与展示 注意: #import <WebKit/WebKi
且行且珍惜_iOS
2018/06/19
3K0
清除WKWebView cookies
在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 WKWebView清除cookies的方法(iOS9以上) WKWebsiteDataStore *dateStore = [WKWebsiteDataStore defaultDataStore]; [dateStore fetchDataRecordsOfTypes:[WKWebsiteDataStore allWebsiteData
czjwarrior
2018/05/28
3.4K0
iOS中相同IP,不同端口,session失效的问题
公司在https服务器(端口443)进行正常登陆业务等处理 https://ip1:443/ 然后在端口444服务器进行资料文件上传等处理 https://ip1:444/ 因为服务器在https://ip1:443/登陆成功之后对cookie中的session进行校验保存,而一旦出现访问443->444->443,就是进行文件上传操作后,再调用443端口后,服务器对session校验失败,出现会话超时问题
freesan44
2018/09/05
2K0
WKWebView ajax请求Cookie丢失
发现H5里面 ajax请求失败302,这可能Cookie丢失或Cookie不相同了
LeeCen
2018/10/11
3.7K0
WKWebView ajax请求Cookie丢失
oc 与 js 互相调用
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。
编程那点事
2023/02/25
1.2K0
iOS多图片上传
+(NSString )PostImagesToServer:(NSString ) strUrl dicPostParams:(NSMutableDictionary )params dicImages:(NSMutableDictionary ) dicImages{ NSString * res; //分界线的标识符 NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x"; //根据url初始化request
用户8983410
2021/10/31
1.1K0
flutter_webview_plugin设置cookie
原版的flutter_webview_plugin(v0.3.0+2版本)是不支持设置cookie的。所以接下来我们就需要修改源代码来支持设置cookie。先去GitHub上把这个插件下载下来:
用户6094182
2019/08/23
2.3K0
flutter_webview_plugin设置cookie
UI篇- UIWebView使用大全
UIWebView是常用开发控件,对于一些常用的设置是有必要记住或者记录下来的。 这里特别说一下,对于一个工程中整个就是一个WebView的情况,你可以通过一些设置来使整个工程显得接近于原生开发的APP,这样你是有机会被审核通过的。
進无尽
2018/09/12
2K0
UI篇- UIWebView使用大全
网易严选的wkwebview测试之路
UIWebView是苹果继承于UIView封装的一个加载web内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。不过苹果在iOS8以后推出了WKWebView来加载Web。UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView是将会逐步取代笨重的UIWebView。且UIWebView存在占用过多内存,js执行效率低等问题。而WKWebView网页加载速度大有提升,占用更少内存。
顾翔
2019/12/11
1.8K0
网易严选的wkwebview测试之路
iOS iOS与html进行交互
实现的 效果就是上边那样:首先通过webview 进行网络请求 然后进行显示。          然后点击下一页的按钮 通过js的响应显示另一个网页          最后通过下一页的按钮可以返回到首页。     本文仅仅是h5跟ios 的交互的入门 所以没有做细致的描述。 首先先说一下思路:我的项目中是那样的:首先h5从后台拿到数据,然后我请求h5的界面,然后通过h5的按钮进行选择,通过ios控制按钮到那个界面。 这个小demo不涉及数据传输,只是界面的交互。 1 我自己写了两个小网页。 代码如下 首页的
用户1219438
2018/02/01
2.4K0
iOS开发中的WKWebView与JS的交互
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53541088
用户1451823
2018/09/13
2.3K0
iOS开发中的WKWebView与JS的交互
WKWebView 加载 Uni-App 导出的本地 H5
Uni-App 打包发布的H5包直接放到APP中加载可以用于提升加载速度,一般有两种方式:
韦弦zhy
2022/09/21
1K0
WKWebView 加载 Uni-App 导出的本地 H5
iOS中WKWebView交互使用总结
现在多数项目中会有使用webView的情况,过去往往使用UIWebView解决问题,但是由于其各种不便,给开发者带来了很多麻烦。现在项目中有所使用,所以写一篇总结,方便以后用到了查找和使用也为了方便其他同行。
iOSSir
2019/06/14
2.9K0
iOS下JS与OC互相调用(二)--WKWebView 拦截URL
在上篇文章中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互。 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView。 同样的用WKWebView也可以拦截URL,做JS 与OC交互。关于WKWebView与UIWebView的对比,大家请自动百度或者google。
Haley_Wong
2018/08/22
3.6K0
iOS下JS与OC互相调用(二)--WKWebView 拦截URL
相关推荐
iOS的WebView——WKWebView
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文