首页 > 解决方案 > 如何在 iOS 12+ 中使用 http 连接到硬编码的 IP 地址

问题描述

我正在尝试使用服务器(EC2 开发服务器)和客户端制作一个简单的原型。服务器只有一个硬 IPv4 地址(数字)并根据请求发送 http 结果,而客户端是一个原型 iOS 12+ 应用程序,我只想从使用 http 的服务器检索数据。我该怎么做?提前致谢!

标签: iosswift

解决方案


阅读URLSession以及如何将网页端数据提取到内存中

func startLoad() {
let url = URL(string: "http://IPADDRESS/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    if let error = error {
        self.handleClientError(error)
        return
    }
    guard let httpResponse = response as? HTTPURLResponse,
        (200...299).contains(httpResponse.statusCode) else {
        self.handleServerError(response)
        return
    }
    // Data is in the data-variable.
    if let mimeType = httpResponse.mimeType, mimeType == "text/html",
        let data = data,
        let string = String(data: data, encoding: .utf8) {
        // Avoid using the main-thread to return any data.
        DispatchQueue.main.async {
            // Return data to use in view/viewcontroller
            self.webView.loadHTMLString(string, baseURL: url)
        }
    }
}
task.resume()

}

您可能想要了解的其他内容是MVVM/MVC,用于管理视图和Codables之间的数据。


推荐阅读