我在我的应用中添加了一项功能,可以向我的网络服务器发送POST请求。我已经测试过,它运行良好。但是在我尝试再次运行应用程序的某个时刻,它崩溃了。我发现错误503表示服务器不可用。我的问题是我应该怎么做才能防止我的应用在收到此错误时崩溃。
由于
答案 0 :(得分:0)
HTTP标准非常明确:所有以4开头的错误代码都是客户端错误,所有以5开头的错误代码都是服务器端错误。因此,当您获得503时,这是一个错误,HTTP服务器返回到您的客户端,告诉您服务器上/服务器有问题,而不是您的客户端或您发送的请求。所以我想知道你的客户端是否真的可以做任何事情来防止这个错误。如果服务器正确遵守HTTP标准,则5xx错误意味着您必须查看服务器端日志并找出服务器的错误,然后解决此问题(在服务器上)。如果您发送的请求有任何问题,服务器应返回4xx错误代码。
答案 1 :(得分:0)
如果您使用NSURLConnection API来执行您的请求(您应该这样做),那么您的代理人应该会收到- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
来电。
在此方法中,您可以查询NSURLResponse以获取其状态代码,并根据具体情况采取相应措施。
示例:
状态200 =确定,了解您需要做的事情 状态503 =服务器不可用 - 正常失败,取消请求并自行清理。然后你可以再试一次。