Swift:
下载网页

How to: 怎样做?

下载文本内容

import Foundation

let url = URL(string: "https://www.example.com")!

let task = URLSession.shared.dataTask(with: url) { data, response, error in
    if let error = error {
        print("错误: \(error)")
    } else if let data = data, let string = String(data: data, encoding: .utf8) {
        print(string)
    }
}

task.resume()

示例输出

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

Deep Dive 深入了解

下载网页的历史开始于互联网的早期,那时只需简单的HTTP GET 请求。现在,有多种方法来实现:URLSession 是 Swift 中的现代方法,适用于完成这项任务。它提供异步API,允许多线程处理,而且它是可定制的。替代方法包括 NSURLConnection(现已弃用)、第三方库(如 Alamofire)。

网络请求会涉及响应处理,这就是为什么正确处理回调和错误至关重要。回调中的 data 携带着下载内容,response 提供了请求的元数据,error 则包含了请求过程中出现的任何错误信息。

See Also 查看更多