gpt4 book ai didi

ios - kCFErrorDomainCFNetwork 代码=310 "(null)"

转载 作者:搜寻专家 更新时间:2023-11-01 06:04:38 25 4
gpt4 key购买 nike

使用 WKWebView,连接到一个网站,根据用户选择,该网站将重定向到另一个网站。 didReceiveServerRedirectForProvisionNavigation 之后出现以下错误:

Error Domain=kCFErrorDomainCFNetwork Code=310 "(null)" UserInfo={_WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x60800002a8e0>, _kCFStreamErrorCodeKey=-2096, _kCFStreamErrorDomainKey=4}

这里没有什么特别的事情发生。我只是想模仿 Safari。

我还用以下代码覆盖了 didReceive challenge:

func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) ->     Void) {
var cred: URLCredential?
if let trust = challenge.protectionSpace.serverTrust {
cred = URLCredential(trust: trust)
} else {
//creds are hardcoded just to try to get the thing working.
cred = URLCredential(user: "hardcodedusername", password: "hardcodedpassword", persistence: .permanent)
}
completionHandler(.useCredential, cred)
}

值得注意的是,重定向时不会调用didReceive challenge

我的假设是我尝试重定向到的站点具有旧的加密协议(protocol) (TLS 1.0),并且 iOS 不允许重定向。该站点在 iPhone 上的 Safari 中运行良好。我还设置了 ATS 任意负载。这是 Objective-C 到 Swift 的转换,Objective-C 版本对此没有问题(使用 UIWebView,这是我在尝试 WKWebView 之前的原始实现...同样的错误)。

需要说明的是,这是一个 QA 环境。我不在乎证书是好是坏。如果我可以避免此环境的任何安全要求,那会很棒,但似乎任意负载设置对我没有任何作用。

我错过了什么?

最佳答案

当前的解决方案是关闭 TLS 1.0。如果有人提出更好的答案,请更新。听起来 Apple 没有内置的方法来解决这个问题。

关于ios - kCFErrorDomainCFNetwork 代码=310 "(null)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050993/

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