如何在webview中打开重定向页面?

时间:2019-08-06 12:25:33

标签: swift xcode webview uiwebview swift5

我在转换数据时遇到一些问题。 我的代码如下:

let task = URLSession.shared.dataTask(with: request) { data, response, error in
                guard let data = data,
                    let response = response as? HTTPURLResponse,
                    error == nil else {
                        // check for fundamental networking error
                        print("error", error ?? "Unknown error")
                        return
                }

                guard (200 ... 299) ~= response.statusCode else {
                    // check for http errors
                    print("statusCode should be 2xx, but is \(response.statusCode)")
                    print("response = \(response)")
                    return
                }
                let responseString = String(data: data, encoding: .utf8)
                print("responseString = \(responseString ?? "")")
                DispatchQueue.main.async {
                    let webVC = WebViewController(urlString: responseString!)
                    self.navigationController?.pushViewController(webVC, animated: true)
                }

            } task.resume()

responseString打印:“ html页面代码”

需要将数据转换为urlString或类似于url的东西吗? 我该如何解决?谢谢您的时间

2 个答案:

答案 0 :(得分:0)

您的“重定向”是什么意思?

如果只是302 HTTP响应,请使用WKWebView:https://developer.apple.com/documentation/webkit/wkwebview而非URLSession

如果必须解析URLSession响应,则必须获取结果并与服务器端程序员讨论该响应。 responseString prints: "html page code"显然是错误的网址

答案 1 :(得分:0)

在WKWebview中加载HTML字符串(只需导入WebKit)

let webView = WKWebView()
webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)

在UIWebview中加载HTML字符串

let webView = UIWebView()
webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)

如果这不是您想要的内容,请添加更多点以使您的问题易于理解,谢谢:)