前往小程序,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下JS与OC互相调用(一)--UIWebView 拦截URL
最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换。顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊。目前我已知的JS 与 OC 交互的处理方式:
Haley_Wong
2018/08/22
3.6K0
iOS下JS与OC互相调用(一)--UIWebView 拦截URL
oc 与 js 互相调用
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。
编程那点事
2023/02/25
1.2K0
AFNetworking简单封装(Block形式)
前言 之前写了 AFNetworking 的基本用法 这次就简单的封装一下 封装 ZJAFNetworkingKit.h #import <Foundation/Foundation.h> #import "AFNetworking/AFNetworking.h" typedef void(^ZJAFNetworkingBlock)(bool success,id responseObject,NSError * error); @interface ZJAFNetworkingKit : NSObjec
码客说
2019/10/22
1.3K0
iOS开发中OC与JS交互(UIWebView)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53189934
用户1451823
2018/09/13
4K0
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 WKWebView适配(基础篇)
PS: 视频播放器不全屏显示 , iOS 10 以下使用 webkit-playsinline 属性
用户7498074
2020/06/24
3.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多图片上传
+(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
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
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
iOS下JS与OC互相调用(四)--JavaScriptCore
前面讲完拦截URL的方式实现JS与OC互相调用,终于到JavaScriptCore了。它是从iOS7开始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封装了一下,提供了简单快捷的方式与JavaScript交互。 关于JavaScriptCore的使用有两篇很好的文章: NSHipster中文版的Java​Script​Core iOS7 新JavaScriptCore框架入门介绍
Haley_Wong
2018/08/22
2.9K0
iOS下JS与OC互相调用(四)--JavaScriptCore
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
iOS学习巩固笔记-UIWebView/JavaScript
2016-05-0908:24:25 发表评论 0℃热度 写一些平时看书学习iOS的笔记,基础的、进阶的都有,供以后回顾,也可以让刚开始学习的同学学习。 1 UIWebView简介 UIWebView
timhbw
2018/05/03
1.2K0
NSURLProtocol 对 WKWebView 的处理
之前写过一篇文章是关于基于 NSURLProtocol 做的 DNS 解析,其中对 NSURLProtocol 也有了简单的介绍,我们都知道他可以拦截所有基于 URL Loading System 中的请求,但是对于 WKWebview 里面所发出的请求即使他是 http/https 也无能为力,先来简单的了解下 WKWebView.
molier
2022/11/03
1.5K0
NSURLProtocol 对 WKWebView 的处理
【iOS开发】从 UIWebView 到 WKWebView
①本文章适合有 UIWebView 基础的人看,如果实在没用过的话,至少你要知道 UIWebView 是个什么东西。
KyXu
2019/04/11
1.8K0
IOS5开发-http get/post调用mvc4 webapi互操作(图片上传)
目前最流行的跨平台交互是采用http协议通过JSON对象进行互操作。这种方式最简单,也很高效。webservice+xml的方式似乎已经过时。 下面是我做的一个例子 webapi的代码 View Code public IEnumerable<Product> GetAllProducts()         {             Console.WriteLine(DateTime.Now.ToLongTimeString() + " : receive request.");          
阿新
2018/04/12
1.2K0
IOS5开发-http get/post调用mvc4 webapi互操作(图片上传)
WKWebView的饼干的处理方式
说起WKWebview代替UIWebview带来的好处你可以举出一堆堆的例子,但说到WKWebview的问题,你绕不过的就是WKWebview cookie和NSHTTPCookieStorage cookie不共享的问题。你可以在网络上搜到如何将他们相互同步的帖子。
CC老师
2023/03/23
1.3K0
WKWebView的饼干的处理方式
清除WKWebView cookies
在UIWebView下,可以使用 [[NSURLCache sharedURLCache] removeAllCachedResponses];//清除缓存 WKWebView清除cookies的方法(iOS9以上) WKWebsiteDataStore *dateStore = [WKWebsiteDataStore defaultDataStore]; [dateStore fetchDataRecordsOfTypes:[WKWebsiteDataStore allWebsiteData
czjwarrior
2018/05/28
3.4K0
WKWebView 加载 Uni-App 导出的本地 H5
Uni-App 打包发布的H5包直接放到APP中加载可以用于提升加载速度,一般有两种方式:
韦弦zhy
2022/09/21
1K0
WKWebView 加载 Uni-App 导出的本地 H5
phonegap + Framework7 之 ios 推送跳转测试
先说说项目情况:使用phonegap创建的ios项目,然后在使用html + css开发网页中又使用了一个框架Framework7(Framework7是一个构建仿原生ios和android应用的框架)。造成把网站打包成app之后,只有一个入口主页面(假设该主页面为index.html), 然后在index.html页面引用所有要用的css和js。其他html页面只有部分html标签,不引用css和js, 其他html页面的展示都是通过主页面index.html的链接进行跳转到那里!
tandaxia
2018/09/27
1K0
相关推荐
iOS下JS与OC互相调用(一)--UIWebView 拦截URL
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文