我正在向我的服务器发送请求,并收到状态代码为500。
为什么系统不是调用connectionDidFailWithError,而是调用connectionDidFinishLoading
这两个方法在我的类委托中都有实现。
发布于 2014-05-28 13:25:34
HTTP状态代码错误不被视为连接错误。如果您得到一个500,HTTP连接没有遇到任何错误。它收到了一个合法的答复: 500状态代码。didFailWithError:用于“拒绝连接”错误。您可以找到一个NSURLErrorDomain和CFNetworkErrors错误这里的全面列表。
根据这篇博客文章的说法,NSURLConnection类最初是在2003年为Safari的第一个版本编写的,NSURLConnection的最初目标仍然显示在它的API设计中:
web浏览器不需要区分HTTP状态代码。不管响应的状态代码是200、404还是500,浏览器总是可以显示响应体。因此,NSURLConnection报告一个404响应为成功。相反,web服务客户端需要将4xx或5xx响应作为错误处理。
https://stackoverflow.com/questions/23911907
复制相似问题