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