我需要确保用户输入的URL到达应该去的位置。我的意思是,如果用户输入“http://google.com/blablabla”或“http://google123.com/blablabla”。我需要弄清楚第二个网址是不正确的,因为它不会打开谷歌的网站。 Swift中有一些方法可以做到这一点吗?或者我只需要检查网址是否包含“http://google.com”?
答案 0 :(得分:3)
<强> 1。格式错误的网址
要验证网址是否格式错误,请让操作系统执行此操作: (检查URL是否包含所需的所有部分,即方案和主机)
if let validateUrl = NSURL(string: rawStringInput) {
if let scheme = validateUrl.scheme {
// the scheme contains "http"
if let host = validateUrl.host {
// the host contains "google.com"
// Success: rawStringInput is well formed
}
}
}
然后,您可以从URL查询各种信息,例如scheme( http ),主机( google.com),路径( blablabla ),片段,端口等。
<强> 2。有效网址
如果你想知道URL是否可以访问(即远程服务器响应它),你实际上需要发出http请求。