URLが有効かどうかを確認するためにどのコードを使用すればよいのか疑問に思っています。また、「https //」や「.com」などのキーワードをチェックすることを意味するのではありません。URLを開くことができるかどうかをチェックすることを意味します(別名、有効なURLです)。正直なところ、私はこれに対する答えをどこにも見つけることができないので、何かが正しい方向への一歩となるでしょう。
あなたが作成することができURLRequest
、その設定をhttpMethod
する"HEAD"
場合は、非同期要求と小切手を送るHTTPURLResponse
statusCode
に等しいです200
。
extension URL {
func isReachable(completion: @escaping (Bool) -> ()) {
var request = URLRequest(url: self)
request.httpMethod = "HEAD"
URLSession.shared.dataTask(with: request) { _, response, _ in
completion((response as? HTTPURLResponse)?.statusCode == 200)
}.resume()
}
}
let url1 = URL(string: "https://stackoverflow.com/questions/65224939/how-to-check-if-a-url-is-valid-in-swift")!
url1.isReachable { success in
if success {
print("url1 is reachable") // url1 is reachable
} else {
print("url1 is unreachable")
}
}
let url2 = URL(string: "https://stackoverflow.com/question/index.html")!
url2.isReachable { success in
if success {
print("url2 is reachable")
} else {
print("url2 is unreachable") // url2 is unreachable
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加