我正在使用when服务,当某些东西由于验证原因而失败时,错误消息会出现在StatusDescription中。我需要一种方法来获取它并将其显示给用户,但我在NSHTTPURLResponse上看到的只有StatusCode和一种将状态码转换为标准错误消息的方法。
无论数据错误,web服务器总是返回500状态代码,所以我不能从代码中推断出问题所在。
发布于 2013-01-30 02:35:23
您可以获得标准错误消息,如下所示:
[NSHTTPURLResponse localizedStringForStatusCode:httpResponse.statusCode];尽管如果您的服务器在那里提供了额外的消息,那么使用Foundation Framework无法从给定的响应中获取原因消息。为此,您应该使用核心基础类。后者提供了这样的功能:
CFStringRef myStatusLine = CFHTTPMessageCopyResponseStatusLine(myResponse);
发布于 2013-03-26 22:35:28
我最终改用AFNetworking,因为本地化的描述没有返回服务器提供的错误消息。
发布于 2011-11-15 02:13:52
这是一个状态的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]);
}https://stackoverflow.com/questions/8126056
复制相似问题