专栏首页DannyHoo的专栏浅谈iOS中的WKWebView添加cookie

浅谈iOS中的WKWebView添加cookie

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53942862

最近开发新功能,其中有加载网页的需求,而最近又了解到了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];

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS开发中终止线程中正在执行的任务

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • iOS开发中系统的UITableViewCell只有当有数据的时候显示分割线

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • 改变视图的位置和大小

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • cookie 和 session 原理

    cookie + session 是为了保存用户状态信息的。比如这个用户是否已经登陆,如果登陆了就给这个用户推送一些信息,比如他最近买一些东西、他的购物车、他最...

    多云转晴
  • 1、web爬虫,requests请求

    requests请求,就是用python的requests模块模拟浏览器请求,返回html源码

    天降攻城狮
  • Linux netstat命令结果分析

    匠心Java
  • 【MATLAB 从零到进阶】day2 矩阵 数组

    统计学家
  • AJAX(JQ应用、layer)

    layer开发文档学习网站:http://www.layui.com/doc/modules/layer.html (原文写于2017.8.14)

    benny
  • [图像]用Matlab在图像上画矩形框

    原文链接:http://blog.csdn.net/humanking7/article/details/46819527

    祥知道
  • Python列表之元组

    cmp    比较2个序列,返回值是一个整数  x==y 0 | x>y 返回正数

    py3study

扫码关注云+社区

领取腾讯云代金券