Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何获取NSHTTPURLRResponse的状态描述_Iphone_Objective C - Fatal编程技术网

Iphone 如何获取NSHTTPURLRResponse的状态描述

Iphone 如何获取NSHTTPURLRResponse的状态描述,iphone,objective-c,Iphone,Objective C,我正在使用Web服务,当由于验证原因出现故障时,错误消息会出现在StatusDescription中。我需要一种方法来获取它并将其显示给用户,但我在NSHTTPPURLResponse上看到的只是状态代码以及将状态代码转换为标准错误消息的方法 无论数据是否出错,web服务器总是返回500状态代码,因此我无法从代码中推断出问题所在。这里是一个状态的NSLog输出,您可以看到,代码进入了didFailWithError - (void)connection:(NSURLConnection *) c

我正在使用Web服务,当由于验证原因出现故障时,错误消息会出现在StatusDescription中。我需要一种方法来获取它并将其显示给用户,但我在NSHTTPPURLResponse上看到的只是状态代码以及将状态代码转换为标准错误消息的方法


无论数据是否出错,web服务器总是返回500状态代码,因此我无法从代码中推断出问题所在。

这里是一个状态的NSLog输出,您可以看到,代码进入了didFailWithError

- (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]);
}

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

[NSHTTPURLResponse localizedStringForStatusCode:httpResponse.statusCode];

但是,如果您的服务器在那里提供附加消息,则无法使用基础框架从给定的响应中获取原因消息。您应该为此使用核心基础类。最后一个提供了这样的能力:


CFStringRef myStatusLine=CFHTTPMessageCopyResponseStatusLine(myResponse)

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

您如何使用AFNetworking来管理此问题?目前也有同样的问题,但是我正在使用AFNetworking。