[英]NSHTTPURLResponse Status Code 200 in Airplane Mode
我有一個有趣的問題:當我的設備處於飛行模式時, NSHHTPURLResponse
提供的 HTTP 狀態代碼是200
“OK”。
它不應該因錯誤而失敗,或者至少不響應它與代碼 200 的有效連接嗎?
這是我的代碼的一個片段:
let url = NSURL(string: "http://apple.com");
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
if(error == nil){
let statusCode = (response as! NSHTTPURLResponse).statusCode;
if(statusCode == 200){
println("All Good");
}
}
}
task.resume();
在飛行模式下,打印“All Good”
不要測試錯誤,測試返回的數據。 Error (NSError, ErrorType) 用於從回調(inout)返回錯誤。
下面的代碼對我有用。
我用慣用的 Swift 語法對其進行了編輯:
let urlPath = "https://www.google.com/"
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!) { data, response, error in
if data != nil {
NSLog("%@", NSString(data: data!, encoding: NSUTF8StringEncoding)!) // EDIT
let res = response as? NSHTTPURLResponse
if res?.statusCode == 200 {
NSLog("All Good")
}
}
}
task!.resume()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.