【发布时间】:2019-03-24 10:28:13
【问题描述】:
我正在尝试使用 URLSession.shared.dataTask 函数访问自定义服务器响应正文以查找类 HTTPURLResponse (URLResponse) 中的 500 个错误。我只能访问statusCode 和allHeaderFields,但这似乎没有帮助。
java 中的等价物 for ex。是 HttpURLConnection.getErrorStream(),但我在纯 swift 中找不到类似的东西(我想在不使用 3rd 方库的情况下解决这个问题)。
如何获取 500 错误的文本响应?
【问题讨论】:
-
你不能。 500 是服务器错误,它可能会以任何形式向您发送响应。
-
这因实施而异。许多 Web 服务返回带有这些状态代码的结构化或明确定义的响应,您可以从第一个参数
Data对象中解析响应,并传递回dataTask完成处理程序闭包。但是,500 个代码通常被视为未处理的错误,并且出于安全原因,您通常不会在响应中(至少在生产环境中)公开诊断信息,并且大多数实现不会在此处公开任何有意义的细节,而是您会改为参考内部系统日志。
标签: swift httpresponse nsurlsession foundation nshttpurlresponse