WebView 通过cookie获取信息

2018-02-03  本文已影响206人  xiao小马哥

上一篇通过加载请求获取信息,这篇通过cookie获取到相应的数据。

以下是代码实现案例

-(void)shareBtnClick
{
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *cookies = [storage cookiesForURL:self.webView.request.URL];
    NSEnumerator *enumerator = [cookies objectEnumerator];
    NSHTTPCookie *cookie = nil;
    while (cookie = [enumerator nextObject]) {
        if ([cookie.name isEqualToString:@"share"]) {
            //获取cookie中的数据
            NSData *data = [[NSData alloc] initWithBase64EncodedString:cookie.value options:0];
            NSDictionary *responseJSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
            NSArray *urls = [responseJSON[@"url"] componentsSeparatedByString:@"?"];//去除token等参数,如果没有分隔符,返回字符串本身
            //分享出去的打开链接
            NSString *shareUrl = urls.count ? urls[0]:nil;
            //分享的模型 @"title"分享标题 @"text"分享的文本 @"imgUrl" 分享的图片资源路径
            ShareItem *shareItem = [ShareItem shareItemWithTitle:responseJSON[@"title"] text:responseJSON[@"text"] imageUrl:responseJSON[@"imgUrl"] url:shareUrl];
            //展示分享面板
            [shareItem share];

        }
    }

}
上一篇下一篇

猜你喜欢

热点阅读