Loc*_*eyu 9 proxy networking http ios wkwebview
有没有办法配置WKWebView通过HTTP代理服务器?我知道这可以直接使用NSURLSession,但我想配置它以便通过WKWebView浏览器的所有请求都通过代理.
NSURLSessionConfiguration有一个直接接口(connectionProxyDictionary)来做到这一点,所以它可以很容易地完成
但是,WkWebView没有任何类似的直接界面,它会请求,将内容呈现在进程外,因此您可以想象WkWebview实例是从应用程序的其余部分沙箱化的
WkWeView甚至忽略了NSURLSession和NSURLConnection的cookie(NSHTTPCookieStorage),缓存(NSURLCache)和Credentials(NSCredentialStorage),同样这些网络类也无法访问WkWebView实例的cookie,缓存和凭据.
UIWebView不会在进程外执行,因此您可以使用CustomHTTPProtocol示例中演示的NSURLProtocol来代理服务器.
从iOS 10开始,WkWebView中仍然不支持NSURLProtocol,因此您无法使用WkWebView进行代理.
如果您的代理服务器支持隧道(VPN),那么你可以使用NetworkExtension.framework及其类(NEVPNManager,NEVPNProtocol,NEVPNConnection等)通过代理服务器直接您的应用程序的所有网络流量.
这是一个如何执行此操作的教程
归档时间: |
|
查看次数: |
3167 次 |
最近记录: |