2017-08-29 20 views
0

URLが有効であることを確認するにはどうすればよいですか?URLが有効であることを確認する方法

は、私はこのURLを持っていると言う:

http://www.example.com:80/dir/?query=test

問題:

私は次のようにURLを検証する必要があります。

  1. 必ずURLを作ります有効なチェックスキーム:スキームが使用されている:HTTPまたはHTTPS

  2. それはURL

  3. リターンである場合

以下のようにパスを取得し、絶対URL文字列がホストを取得していないポートを削除しますURL = http://host/absolutePath

例:

var strURL = NSURL(string:"http://www.example.com:80/dir/?query=test") 

if(strURL?scheme == "http" && strURL?scheme == "https"){ 

// remove the Port No 
} else { 

} 

どのようにポート番号を削除し、文字列としてURLを再構築するために:

https://www.example.com/dir/?query=test

は、私はこれを試してください?

答えて

0

あなたはURLComponents

func validate(url : String) -> String? { 
    guard var components = URLComponents(string: url), 
     (components.scheme == "http" || components.scheme == "https") else { return nil } 
    components.port = nil 
    return components.string 
} 

let strURL = "http://www.example.com:80/dir/?query=test" 
let url = validate(url: strURL) // "http://www.example.com/dir/?query=test" 
0

チェックして、これは、この場合に役立ちますことを行うことができます

func testUrl(string: String) -> String? { 
     var stringUrl: String? 
     if let url = URL(string: string){ 
      if url.scheme == "http" || url.scheme == "https"{ 
       stringUrl = url.absoluteString 
       if let port = url.port{ 
        stringUrl = stringUrl?.replacingOccurrences(of: ":\(port)", with: "") 
       } 
      } 
     } 
     return stringUrl 
    } 
関連する問題