在AFHTTPRequestOperation

时间:2015-09-02 10:44:34

标签: ios objective-c afhttprequestoperation

我需要在我的请求的失败块中获取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!

2 个答案:

答案 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"];