gpt4 book ai didi

ios - WKWebView 的 HTTP 代理支持

转载 作者:技术小花猫 更新时间:2023-10-29 11:22:53 30 4
gpt4 key购买 nike

有没有办法配置 WKWebView 通过 HTTP 代理服务器?我知道直接使用 NSURLSession 是可能的,但我想对其进行配置,以便所有通过 WKWebView 浏览器的请求都通过代理。

最佳答案

NSURLSessionConfiguration 有一个直接接口(interface)(connectionProxyDictionary)来做这件事,所以它可以很容易地完成

但是,WkWebView 没有像那样的任何直接接口(interface),它在进程外请求、呈现内容,因此您可以想象 WkWebview 实例与应用程序的其余部分隔离开来

WkWeView 甚至忽略了 NSURLSession 和 NSURLConnection 的 cookies(NSHTTPCookieStorage)、缓存(NSURLCache) 和 Credentials(NSCredentialStorage) 同样这些网络类不能访问 WkWebView 实例的 cookies、缓存和凭证。

UIWebView 不会在进程外执行此操作,因此您可以使用 NSURLProtocol,如 CustomHTTPProtocol 中所示。代理到服务器的示例。

从 iOS 10 开始,WkWebView 中仍然不支持 NSURLProtocol,因此您无法使用 WkWebView 进行代理。

如果您的代理服务器支持隧道 (VPN),那么您可以使用 NetworkExtension.framework 及其类(NEVPNManager、NEVPNProtocol、NEVPNConnection 等)将您应用的所有网络流量引导至您的代理服务器。

关于ios - WKWebView 的 HTTP 代理支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068675/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com