2016-10-11 24 views
-1

Webサービスコールを行う前に自分のURLをチェックしていたのですが、見つからないページやサーバーがダウンしていると、URLが間違っていると、だから、ステータスが200に等しい場合、私はやるだろう、私は私のSOAP Webサービスを呼び出す前に、URLを確認するためにwan't、と私はステータスコードを取得したいURLを確認する方法をスウィフト

NSURLErrorDomainコード= -1003

:これを取得コール、誰かがそれを行う方法を知っていますか?

+1

私は理解していませんなぜあなたは別の電話をする必要がありますか?あなたのwebserviceがネットワークの問題などによって到達不能な場合は、とにかく200を取得しません。 –

+0

*これを取得した場合は、実際にURLをチェックしています。エラーを適切に処理するだけです。 – vadian

+0

@JacobKing私はこのパーサーをrssパーサーのような別のクラスで使う必要があります – Ben

答えて

0

アップルのドキュメントから、私はいくつかの情報を見つけたと思います。 https://developer.apple.com/library/ios/samplecode/Reachability/Introduction/Intro.html

あなたはこれで通知を開始することで、それぞれ、それらをテストすることができます。

let wifiReachability = Reachability. reachabilityForLocalWiFi() 
wifiReachability.startNotifier() 

let internetReachability = Reachability.reachabilityForInternetConnection() 
hostReachability.startNotifier() 

let hostReachability = Reachability(hostName:"www.apple.com") 
hostReachability.startNotifier() 
+0

Reachability.verifyUrlはまだtrueを返しています – Ben

0

スウィフト3通常、私が接続して速度をチェックするためにこれを使用します。

let url = URL(string: "http://......jpg") // image on web server to check the speed 
    let request = URLRequest(url: url!) 

    let session = URLSession.shared   

    let startTime = Date() 

    let task = session.dataTask(with: request) { (data, resp, error) in 

     guard error == nil && data != nil else{ 



      print("connection error or data is nill\(error)") 

      return 
     } 

     guard resp != nil else{ 

      print("respons is nill") 
      return 
     } 




      let length = CGFloat((resp?.expectedContentLength)!)/1000000.0 

      print(length) 



     let elapsed = CGFloat(Date().timeIntervalSince(startTime)) 

     print("elapsed: \(elapsed)") 

     print("Speed: \(length/elapsed) Mb/sec") 
関連する問題