[英]How can I use Alamofire to add auth header to each request, and do something if the response is 401?
[英]How to retrieve Alamofire response header for a request
如何检索请求的响应标头? 以下是我提出的要求。
Alamofire.request(.GET, requestUrl, parameters:parameters, headers: headers)
.responseJSON { response in switch response.result {
case .Success(let JSON):
...
case .Failure(let error):
...
}
提前致谢!
如果响应是NSHTTPURLResponse
类型, NSHTTPURLResponse
可以从response.allHeaderFields
获取标头。
因此,当您使用Alamofire responseJSON时,您可以访问NSHTTPURLResponse属性,如下所示:
Alamofire.request(.GET, requestUrl, parameters:parameters, headers: headers).responseJSON {
response in
print(response.response?.allHeaderFields)
}
正如苹果文档所说:
包含作为服务器响应的一部分接收的所有HTTP头字段的字典。 通过检查此字典,客户端可以看到HTTP服务器返回的“原始”标头信息。
此字典中的键是从服务器接收的标题字段名称。 有关常用HTTP头字段的列表,请参阅RFC 2616。
因此,要获得响应头中的内容类型,您可以通过以下方式访问它:
if let contentType = response.response?.allHeaderFields["Content-Type"] as? String {
// use contentType here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.