Swift,检查特定网站是否可访问

Meg*_*han 7 reachability ios swift

如何检查特定网站的可达性?

我连接到wifi网络上网,这已经阻止了一些网站.如何检查我是否可以访问这些网站?

我已经检查了Reachability类,但我无法检查特定的网站.

目前我正在使用Reachability.swift

Wil*_*jay 5

我不知道什么是最佳实践,但我使用 HTTPrequest来做到这一点。

func checkWebsite(completion: @escaping (Bool) -> Void ) {
    guard let url = URL(string: "yourURL.com") else { return }

    var request = URLRequest(url: url)
    request.timeoutInterval = 1.0 

    let task = URLSession.shared.dataTask(with: request) { data, response, error in
        if let error = error {
            print("\(error.localizedDescription)")
            completion(false)
        }
        if let httpResponse = response as? HTTPURLResponse {
            print("statusCode: \(httpResponse.statusCode)")
            // do your logic here
            // if statusCode == 200 ...
            completion(true)

        }
    }
    task.resume()
}
Run Code Online (Sandbox Code Playgroud)

  • 这如何检查页面是否被阻止?如果页面恰好需要超过一秒的时间来下载或者用户的访问速度有点慢,那么 1 秒的超时将使大多数页面似乎无法访问。 (2认同)

Dim*_*ima -3

您要使用的初始值设定项列在该页面上。

您将主机名作为参数传递:

init?(hostname: String)
// example
Reachability(hostname: "www.mydomain.com")
Run Code Online (Sandbox Code Playgroud)