首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取NSHTTPURLResponse的状态描述

如何获取NSHTTPURLResponse的状态描述
EN

Stack Overflow用户
提问于 2011-11-15 02:09:04
回答 3查看 5.9K关注 0票数 5

我正在使用when服务,当某些东西由于验证原因而失败时,错误消息会出现在StatusDescription中。我需要一种方法来获取它并将其显示给用户,但我在NSHTTPURLResponse上看到的只有StatusCode和一种将状态码转换为标准错误消息的方法。

无论数据错误,web服务器总是返回500状态代码,所以我不能从代码中推断出问题所在。

EN

回答 3

Stack Overflow用户

发布于 2013-01-30 02:35:23

您可以获得标准错误消息,如下所示:

代码语言:javascript
复制
[NSHTTPURLResponse localizedStringForStatusCode:httpResponse.statusCode];

尽管如果您的服务器在那里提供了额外的消息,那么使用Foundation Framework无法从给定的响应中获取原因消息。为此,您应该使用核心基础类。后者提供了这样的功能:

CFStringRef myStatusLine = CFHTTPMessageCopyResponseStatusLine(myResponse);

票数 7
EN

Stack Overflow用户

发布于 2013-03-26 22:35:28

我最终改用AFNetworking,因为本地化的描述没有返回服务器提供的错误消息。

票数 0
EN

Stack Overflow用户

发布于 2011-11-15 02:13:52

这是一个状态的NSLog输出,如您所见,代码是didFailWithError格式的。

代码语言:javascript
复制
- (void)connection:(NSURLConnection *) connection didFailWithError:(NSError *)error
{
    NSLog(@"Connection didFailWithError (connection %p) (code %d) %@ %@ %@",
      connection,
      [error code],
      [error localizedDescription],
      [error localizedFailureReason],
      [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8126056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档