2010-01-15 102 views
0

我在我的应用程序中添加了一项功能,它将POST请求发送到我的Web服务器。我测试过它,它运行良好。但在某些时候,当我试图重新运行应用程序时,它就崩溃了。我发现错误503表示服务器不可用。我的问题是我该怎么做才能防止我的应用在我收到此错误时崩溃。服务器返回错误503

感谢

回答

0

HTTP标准是对此非常清楚:首先是一个4所有的错误代码是客户端错误,从5所有的错误代码是服务器端错误。所以当你得到503时,这是HTTP服务器返回给你的客户端的错误,告诉你服务器/服务器有问题,而不是客户端或你发送的请求。所以我想知道你的客户端是否真的有任何东西可以防止这个错误。如果服务器正确地遵守HTTP标准,则5xx错误意味着您必须查看服务器端日志并找出服务器出了什么问题,然后解决此问题(在服务器上)。如果您发送的请求有任何问题,服务器应返回一个4xx错误代码。

+0

客户端无法阻止错误发生,但它可以在收到503时正常恢复而不会崩溃。看我的答案。 – Jasarien 2010-01-15 10:32:14

0

如果您使用NSURLConnection API来执行您的请求(您应该这样做),那么您的代理应该会收到- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response调用。

在这种方法中,您可以查询NSURLResponse的状态代码,并根据它的情况采取相应的行动。

例子:

状态200 = OK,去一个头,你需要做的 状态503 =服务器不可用的东西 - 优雅地失败,取消该请求后自己清理。然后您可以再试一次。

相关问题