移动解析 HTTPDNS WKWebView 实践

此方案使用 NSURLProtocol 拦截请求,具体步骤1. 通过 WKWebView 的私有 API 注册 scheme,保证 NSURLProtocol 可以拦截 WKWebView 中的请求。

相关产品
移动解析 HTTPDNS 产品页,含版本规格、价格与购买入口。

一、方案描述

2. 根据你使用的网络库类型创建请求。

3. 使用 WKWebView.loadRequest 加载请求。

二、前提条件

完成 iOS SDK 接入。

三、代码示例

完整的示例代码在 Demo 的 WebViewController.m 中。

// 1.注册拦截请求的 NSURLProtocol[NSURLProtocol registerClass:[MSDKDnsHttpMessageTools class]];// 2.注册schemeClass cls = NSClassFromString(@"WKBrowsingContextController");SEL sel = NSSelectorFromString(@"registerSchemeForCustomProtocol:");if ([cls respondsToSelector:sel]) { // 通过http和https的请求,同理可通过其他的Scheme 但是要满足ULR Loading System [cls performSelector:sel withObject:@"http"]; [cls performSelector:sel withObject:@"https"];}// 3.使用WKWebView.loadRequest[self.wkWebView loadRequest:request];

赞 (0)
上一篇 4天前
下一篇 4天前