gpt4 book ai didi

ios - WKWebView 使用 Swift 4 捕获 HTTP 错误代码

转载 作者:搜寻专家 更新时间:2023-10-30 22:26:39 25 4
gpt4 key购买 nike

此问题与以下问题相同:WKWebView catch HTTP error codes ;不幸的是,Obj-C 中的方法不适用于 Swift 4,因此引用的 WKNavigationResponse.response 不再是 NSHTTPURLResponse 类型,因此它没有 http 状态代码.

但问题仍然是一样的:我需要获取答案的 http 状态代码以检测是否加载了预期的页面。

请注意 webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) 委托(delegate)不会在 404 的情况下调用,但仅在网络问题(即服务器离线); func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) 被调用。

非常感谢您的回答。

最佳答案

WKWebView 上使用 WKNavigationDelegate,您可以在每次收到响应时从响应中获取状态代码。

func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse,
decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {

if let response = navigationResponse.response as? HTTPURLResponse {
if response.statusCode == 401 {
// ...
}
}
decisionHandler(.allow)
}

关于ios - WKWebView 使用 Swift 4 捕获 HTTP 错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49321823/

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