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

浅谈iOS中的WKWebView添加cookie

作者头像
用户1451823
发布2018-09-13 15:41:51
2.2K0
发布2018-09-13 15:41:51
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档