gpt4 book ai didi

ios - 如何为WKWebView设置代理?

转载 作者:行者123 更新时间:2023-11-30 11:41:40 76 4
gpt4 key购买 nike

我正在使用WKWebView打开网页,现在我需要为特定的URL设置代理。
我知道如何使用代理发送请求,只需使用URLSession如下所示。

let proxyHost = "1.2.3.4"
let proxyPort = 9000
let proxyConfiguration = URLSessionConfiguration.default
proxyConfiguration.connectionProxyDictionary = [
kCFNetworkProxiesHTTPEnable: true,
kCFNetworkProxiesHTTPProxy: proxyHost,
kCFNetworkProxiesHTTPPort: proxyPort,
]
let session = URLSession(configuration: proxyConfiguration)


但是没有 WKWebView的API可以接收 URLSession或类似代理配置的内容。
剂量有人知道怎么做吗?
提前致谢。

最佳答案

您可以使用WKNavigationDelegate

例如

extension MyWKWebView: WKNavigationDelegate {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {

print("==================================")
print("decidePolicyFor - navigationAction")
print(webView.url?.absoluteString as Any)
print(navigationAction.request.allHTTPHeaderFields)
print("==================================")

if isRequestOnInterceptList(navigationAction.request) {
let nreq = modifyRequestUrl(navigationAction.request)
//webView.load(nreq)
webView.stopLoading()
decisionHandler(.cancel)
} else {
decisionHandler(.allow)
}
}
}


在modifyRequestUrl()中,您可以设置代理

关于ios - 如何为WKWebView设置代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49228734/

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