Swift:
Tải trang web

Làm thế nào:

Hãy sử dụng URLSession để thực hiện công việc này. Swift làm cho nó trở nên đơn giản và dễ dàng.

import Foundation

let url = URL(string: "https://www.example.com")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
    nếu let error = error {
        print("Lỗi:", error)
        trở lại
    }

    if let httpResponse = response as? HTTPURLResponse, (200...299).contains(httpResponse.statusCode) {
        if let mimeType = httpResponse.mimeType, mimeType == "text/html",
           let data = data, let string = String(data: data, encoding: .utf8) {
            print("Nội dung trang web đã tải xuống:")
            print(string)
        } else {
            print("Loại MIME hoặc mã hóa không hợp lệ.")
        }
    } else {
        print("Máy chủ phản hồi với lỗi.")
    }
}
task.resume()
// Đảm bảo chạy chương trình cho đến khi công việc hoàn thành
RunLoop.current.run()

Đầu ra mẫu có thể trông như thế này:

Nội dung trang web đã tải xuống:
<!doctype html>...

Đào sâu

API URLSession đã có từ iOS 7 và macOS 10.9. Nó đã tạo nên một bước ngoặt lớn khi đó, thay thế cho NSURLConnection cũ và cồng kềnh hơn. Mặc dù URLSession mạnh mẽ và linh hoạt, bạn cũng có thể xem xét các thư viện bên thứ ba như Alamofire cho nhu cầu mạng phức tạp hơn.

Khi thực hiện, hãy nhớ rằng các yêu cầu mạng là bất đồng bộ. Điều này có nghĩa là ứng dụng của bạn có thể tiếp tục với những tác vụ khác trong khi chờ máy chủ trả lời. Thêm nữa, sử dụng URLSession một cách đúng đắn bao gồm xử lý lỗi một cách mềm dẻo và kiểm tra trạng thái phản hồi từ máy chủ. Kiểm tra kiểu MIME rất quan trọng để đảm bảo bạn đang nhận HTML, không phải các loại tệp khác như JSON hay hình ảnh.

Xem thêm

Đào sâu hơn hoặc khám phá các lựa chọn khác: