如何处理 500 http 错误

And*_*i F 2 httpresponse foundation nshttpurlresponse nsurlsession swift

HTTPURLResponse我正在尝试使用函数访问类( URLResponse)中的 500 个错误的自定义服务器响应正文URLSession.shared.dataTask。我只能访问statusCodeandallHeaderFields但似乎没有帮助。

在java中相当于ex。是HttpURLConnection.getErrorStream(),但我在纯 swift 中找不到类似的东西(我想在不使用第 3 方库的情况下解决这个问题)。

如何获取 500 错误的文本响应?

meg*_*gar 5

let task = session.dataTask(with: urlRequest) { data, response, error in
    if let data = data, let response = response as? HTTPURLResponse {
        switch response.statusCode {
        case 500...599:
            let yourErrorResponseString = String(data: data, encoding: .utf8)
        default:
            break
        }
    }
}
Run Code Online (Sandbox Code Playgroud)