gpt4 book ai didi

ios - 当在 iOS Swift 3 中以编程方式添加 Web View 以查看时,如何在 UIWebView 中获取响应状态代码?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:36 25 4
gpt4 key购买 nike

我尝试在 UIWebView 中获取响应状态代码
我试过这样:

func webViewDidFinishLoad(_ webView: UIWebView) {
guard let request = webView.request else { return }
let cachedUrlResponse = URLCache.shared.cachedResponse(for: request)
let httpUrlResponse = cachedUrlResponse?.response as? HTTPURLResponse
print("statusCode : \(String(describing: httpUrlResponse?.statusCode))" )
}

当我在 Storyboard中设置 webView 并在 Controller 中设置 IBOutlet 时,它是正确的。但是需要以编程方式制作一个 webView 并做到了。
但是我无法使用这些代码获取响应状态代码。
只得到零。
请帮助我修复它。

最佳答案

在全局范围内声明您的请求。您在 webView 中加载的请求,如

let  globalRequest = URLRequest(url: URL.init(string: "https://www.facebook.com")!, cachePolicy: URLRequest.CachePolicy.returnCacheDataElseLoad, timeoutInterval: 15.0)

并检查该请求

let cachedUrlResponse = URLCache.shared.cachedResponse(for: globalRequest)

在 webViewDidFinishLoad 中。那行得通。我想这里的问题是 URLRequest 现在是 struct(value type) 并且 webView.request 和 globalRequest 现在是两个不同的东西。您可以比较它们并进行验证。

关于ios - 当在 iOS Swift 3 中以编程方式添加 Web View 以查看时,如何在 UIWebView 中获取响应状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45510157/

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