ios - 在 Alamofire 中获取 HTTP 状态行

标签 ios swift alamofire

我在 swift 3 中使用 Alamofire 4.0.1 库;我正在寻找 HTTP 状态行(如 https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html 中所述)。我可以获得状态代码、 header 以及所有内容,但无法获取状态消息。

我正在查询一个 REST API,它在描述问题的“Forbidden”关键字后给出了 403 个不同消息的响应:比如客户端未被批准访问或不允许访问特定 URL,因为它是用于内部仅使用。在访问 API 的客户端中,我想为用户提供更多详细信息,而不仅仅是“禁止”消息。

这是服务器发回的内容(我知道这一点是因为我使用了 Paw,一个 HTTP 客户端来发送 HTTP 请求并调查响应):

HTTP/1.0 403 禁止访问(内部方法)

总而言之,是否有机会在 Alamofire 中获取 HTTP 状态行?

最佳答案

很遗憾没有

Alamofire 使用 URLResponse 并且它没有实现任何为您提供有关 Status-Line 信息的字段/方法。要获得 Status-Line,您应该使用其他可能较低级别的框架。

URLResponse 只给你关于 allHeaderFields 的信息,你可以在这里查看我的回答:

https://stackoverflow.com/a/36524454/5433235

关于ios - 在 Alamofire 中获取 HTTP 状态行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40464098/

相关文章:

ios - 如何降低 UISlider 框架高度?

swift - 使用 Unresolved Identifier 添加第二个 pin MapKit swift

ios - 如何在 Alamofire 中将正文类型设置为 JSON?

swift - 无法将类型 '()' 的值分配给完成处理程序中的类型 '[Category]'

iOS 沙盒测试与生产

ios - 在完成之前调用 Dispatch.main.asyncAfter() 会导致应用程序崩溃

ios - 如何检测 IAPFree 和 IAP Cracker

ios - Swift:按排序描述符对数组进行排序

ios - 使用 mapKit 的 map 显示相反的方向 (iOS Swift)

swift - 列出我的 YouTube 播放列表时出错