iOS/Obj-c - 获取 HTTP 状态代码响应消息(原因短语)

标签 ios objective-c http http-headers http-status-codes

我正在使用一个 API,它针对许多不同的错误发回 HTTP 406,以及一条自定义消息(原因短语)。它可能看起来像:

406 Not Acceptable:用户已经登录 406 Not Acceptable :缺少密码字段 406 Not Acceptable:节点不存在。

我可以使用以下方法获取 406 状态代码和标准的“ Not Acceptable ”字符串:

NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response;

NSInteger statusCode = [HTTPResponse statusCode];

[NSHTTPURLResponse localizedStringForStatusCode:HTTPResponse.statusCode];

但是我真的需要原因短语消息来知道如何处理响应。我怎样才能得到它,最好使用标准的 iOS SDK?

最佳答案

I really require the reason phrase message to know how to handle the response.

然后 API 就坏了。原因短语仅用于调试辅助。这并不意味着告知客户行为。

来自 RFC 2616 § 6.1.1 :

The Status-Code is intended for use by automata and the Reason-Phrase is intended for the human user. The client is not required to examine or display the Reason- Phrase.

如果有关于响应的信息无法单独通过状态代码传达,则适当的位置是作为标题或在响应主体中。原因短语不是放置客户使用所需信息的正确位置。

关于iOS/Obj-c - 获取 HTTP 状态代码响应消息(原因短语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859791/

相关文章:

objective-c - 从文本中获取 URL

iphone - Obj-C,dyld:找不到符号:_OBJC_CLASS _ $ _ NSUbiquitousKeyValueStore

http - 如何从 Observables 值构造数据,并在 HTTP 调用后返回 Observable<Response>?

java - 限制 Android 向 Web 服务器发出 HTTP 请求

javascript - HTTP 请求 JSON : Unexpected . 解析错误 - 如何消除它?

iOS FlickrKit : err code ="95" msg ="SSL is required"

ios - 如何创建不同于 View 边界的 accessibilityFrame?

ios - 使用自动布局向 UIView 添加特定边框

ios - 当应用程序未处于运行状态(非事件状态)时下载所有推送通知

ios - 本地 SQLite 数据库在多大程度上适合 iOS 应用程序?