0

我需要在请求的失败块中获取 Error-Message 的值。

这是错误:

错误域=com.alamofire.error.serialization.response Code=-1011 “请求失败:错误请求 (400)” UserInfo=0x165151b0 {NSErrorFailingURLKey= http://203.125.112.203:8090/megumi01/api/zipData?lastSynced= 1441161682 , com.alamofire.serialization.response.error.response= { URL: http://203.125.112.203:8090/megumi01/api/zipData?lastSynced=1441161682 } {状态码:400,标头{“访问控制允许标头”=“x-requested-with,授权,内容类型,接受”;“访问控制允许方法”=“POST,GET,OPTIONS,DELETE,PUT”;“访问控制允许来源”=“*”;“访问控制最大年龄”= 3600;“缓存控制”=“无缓存,无存储,最大年龄=0,必须重新验证”;连接=关闭;“内容类型”=“应用程序/json;字符集=UTF-8”;日期 =“格林威治标准时间 2015 年 9 月 2 日星期三 10:38:57”;“错误代码”= 0808;"错误消息" = "没有可用的更新"; 过期 = 0; Pragma = "无缓存"; 服务器 = "Apache-Coyote/1.1"; “传输编码” = 身份;“X-应用程序上下文”=“应用程序:9090”;“X-Content-Type-Options”= nosniff;“X-Frame-Options”=拒绝;“X-XSS-保护”=“1;模式=块”;} }, NSLocalizedDescription=请求失败:错误请求 (400)}

我尝试将“错误”放入 NSData 中,以便将其转换为 NSDictionary 但它变为 nil。

我可以知道如何获得自定义标头“错误消息”的值吗?

蒂亚!

4

2 回答 2

0

经过认真思考,我能够在AFHTTPRequestOperation的失败块中获得获取自定义标头的正确方法。

NSDictionary *userInfo = [error userInfo];
NSHTTPURLResponse *alamofireResponse = [userInfo objectForKey:@"com.alamofire.serialization.response.error.response"];
NSDictionary *allHeaders = [alamofireResponse allHeaderFields];
NSString *customMessage = [allHeaders objectForKey:@"Error-Message"];
于 2015-09-09T09:17:37.917 回答
0

下面的代码可以帮助你。试试看。

NSLog(@"status code  :%ld",(long)[operation.response statusCode]);
NSLog(@"Failure Response %@, %@", error, operation.response.description);
于 2015-09-02T11:58:35.837 回答