【问题标题】:Server returns error 503服务器返回错误 503
【发布时间】:2010-12-11 07:33:03
【问题描述】:

我在我的应用程序中添加了一个向我的网络服务器发送 POST 请求的功能。我已经对其进行了测试,并且运行良好。但是在某个时刻,当我尝试再次运行该应用程序时,它崩溃了。我发现错误 503 说服务器不可用。我的问题是当我收到此错误时,我应该怎么做才能防止我的应用程序崩溃。

谢谢

【问题讨论】:

    标签: iphone post request


    【解决方案1】:

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

    【讨论】:

    • 客户端无法阻止错误的发生,但它可以优雅地恢复而不是在收到 503 时崩溃。查看我的答案。
    【解决方案2】:

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

    在这个方法中,你可以查询 NSURLResponse 的状态码,并根据它的状态采取相应的行动。

    例子:

    状态 200 = 好的,开始你需要做的事情 状态 503 = 服务器不可用 - 正常失败,取消请求并自行清理。然后你可以再试一次。

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 2014-12-12
      • 1970-01-01
      • 2014-02-19
      • 2012-12-17
      • 2017-12-31
      • 2019-02-10
      • 2014-02-22
      • 2021-05-10
      相关资源
      最近更新 更多