【问题标题】:Get the value of Error-Message in failure block of AFHTTPRequestOperation获取 AFHTTPRequestOperation 失败块中 Error-Message 的值
【发布时间】:2015-11-27 20:05:32
【问题描述】:

我需要在请求的失败块中获取 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= { 网址: http://203.125.112.203:8090/megumi01/api/zipData?lastSynced=1441161682 } { 状态码:400,标题 { "Access-Control-Allow-Headers" = "x-requested-with, Authorization, Content-Type, Accept"; “访问控制允许方法”=“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。

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

TYIA!

【问题讨论】:

  • 您需要什么类型的值?错误 = 400?
  • @Yuri 我实际上需要“错误代码”和“错误消息”的值。

标签: ios objective-c afhttprequestoperation


【解决方案1】:

下面的代码可能会对您有所帮助。试试看。

NSLog(@"status code  :%ld",(long)[operation.response statusCode]);
NSLog(@"Failure Response %@, %@", error, operation.response.description);

【讨论】:

  • 在最新的AFNetworking中,responseObject在failure block中为nil。这就是我们决定添加自定义标题的原因。但我无法获取自定义标头的值。
【解决方案2】:

经过深思熟虑,我能够在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"];

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多