Đôi khi, bạn có thể yêu cầu ping một trang web bên ngoài và kiểm tra xem nó có hoạt động hay không trước khi thực hiện bất kỳ yêu cầu xử lý hoặc kích hoạt nào.
Ở đây chúng ta sẽ xem cách kiểm tra xem trang web bên ngoài có đang hoạt động hay không.
Hãy bắt đầu bằng cách Tạo dự án mới
Bước 1 - Mở Xcode → Dự án mới → Ứng dụng một lần xem → Đặt tên cho nó là “PingMe”
Bước 2 - Mở ViewController.swift và thêm hàm checkIsConnectedToNetwork () và thêm mã sau.
func checkIsConnectedToNetwork() { let hostUrl: String = "https://google.com" if let url = URL(string: hostUrl) { var request = URLRequest(url: url) request.httpMethod = "HEAD" URLSession(configuration: .default) .dataTask(with: request) { (_, response, error) -> Void in guard error == nil else { print("Error:", error ?? "") return } guard (response as? HTTPURLResponse)? .statusCode == 200 else { print("The host is down") return } print("The host is up and running") } .resume() } }
Bước 3 - Bây giờ hãy gọi hàm này từ phương thức viewDidLoad.
Mã cuối cùng của bạn sẽ trông như thế nào
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. self.checkIsConnectedToNetwork() } func checkIsConnectedToNetwork() { let hostUrl: String = "https://google.com" if let url = URL(string: hostUrl) { var request = URLRequest(url: url) request.httpMethod = "HEAD" URLSession(configuration: .default) .dataTask(with: request) { (_, response, error) -> Void in guard error == nil else { print("Error:", error ?? "") return } guard (response as? HTTPURLResponse)? .statusCode == 200 else { print("The host is down") return } print("The host is up and running") } .resume() } } }
Khi chạy mã trên, bạn có thể thấy ("Máy chủ lưu trữ đang hoạt động") được in trên bảng điều khiển của bạn.
Ngoài ra, bạn có thể tạo một nút trên giao diện người dùng và khi nhấn vào nút đó sẽ kích hoạt một yêu cầu và cũng có thể in trên trường văn bản.