我需要在我的请求的失败块中获取Error-Message的值。
这是错误:
错误Domain = 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,headers { “Access-Control-Allow-Headers”=“x-requested-with,Authorization,Content-Type,Accept”; “Access-Control-Allow-Methods”=“POST,GET,OPTIONS,DELETE,PUT”; “Access-Control-Allow-Origin”=“*”; “Access-Control-Max-Age”= 3600; “Cache-Control”=“no-cache,no-store,max-age = 0,must-revalidate”; 连接=关闭; “Content-Type”=“application / json; charset = UTF-8”; Date =“Wed,02 Sep 2015 10:38:57 GMT”; “错误代码”= 0808; “错误消息”=“没有可用的更新”; Expires = 0; Pragma =“no-cache”; Server =“Apache-Coyote / 1.1”; “转移编码”=身份; “X-Application-Context”=“application:9090”; “X-Content-Type-Options”= nosniff; “X-Frame-Options”= DENY; “X-XSS-Protection”=“1; mode = block”; ,NSLocalizedDescription =请求失败:错误请求(400)}
我尝试将“错误”放入NSData,因此我可以将其转换为NSDictionary,但它变为零。
我是否知道如何获取自定义标题“Error-Message”的值?
TYIA!
答案 0 :(得分:0)
下面的代码可以帮到你。试试吧。
NSLog(@"status code :%ld",(long)[operation.response statusCode]);
NSLog(@"Failure Response %@, %@", error, operation.response.description);
答案 1 :(得分: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"];