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