使用WKWebview接入淘宝二次授权免登录的坑

1.阿里百川授权完成之后,进行淘宝授权免密登录时,时而需要密码登录,时而不需要(我当时用的WKWebview)

2.分析:当时我查阅了淘宝上的论坛和各大网站,都没有发现有人提到该问题,最终还是无果,我就开始看这个js源码,后面我就换了UIWebview,这个问题就没有,真是奇了怪了,怎么搞这个WKWebview都需要密码登录,当时我都怀疑苹果的WKWebview有bug;查了资料WKWebview和UIWebview区别才发现原来WKWebview不共享cookie

3.解决方法当然是加入cookie啦

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

    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];

    }

    [request addValue:cookieValue forHTTPHeaderField:@"Cookie"];

    [webview loadRequest:request];

 

4.这个cookie还区分WKWebview的WKHTTPCookieStore和(UIWebView ,网络请求的NSHTTPCookie),其他cookie问题还得针对WKHTTPCookieStore进行入手解决,

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值