Сервер возвращает ошибку 503 - PullRequest
0 голосов
/ 15 января 2010

Я добавил функцию в свое приложение, которая отправляет запрос POST на мой веб-сервер. Я проверил это, и он работает нормально. Но в какой-то момент, когда я снова попытался запустить приложение, оно вылетает. Я обнаружил ошибку 503, которая говорит, что сервер недоступен. Мой вопрос заключался в том, что мне делать, чтобы предотвратить сбой приложения при получении этой ошибки.

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 января 2010

Если вы используете NSURLConnection API для выполнения вашего запроса (что вы должны делать), тогда ваш делегат должен получить вызов - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response.

В этом методе вы можете запросить NSURLResponse для его кода состояния и действовать соответственно в зависимости от того, что это такое.

Пример:

Статус 200 = ОК, идите в голову с тем, что вам нужно сделать Состояние 503 = Сервер недоступен - завершить работу изящно, отменить запрос и очистить после себя. Затем вы можете попробовать еще раз.

0 голосов
/ 15 января 2010

Стандарт HTTP очень четко говорит об этом: все коды ошибок, начинающиеся с 4, являются ошибками на стороне клиента, все коды ошибок, начинающиеся с 5, являются ошибками на стороне сервера. Поэтому, когда вы получаете 503, это ошибка, которую HTTP-сервер возвращает вашему клиенту, чтобы сообщить вам, что что-то не так с / с сервером, а не с вашим клиентом или с отправленным вами запросом. Поэтому мне интересно, есть ли в вашем клиенте что-нибудь, что вы можете сделать, чтобы предотвратить эту ошибку. Если сервер правильно соответствует стандарту HTTP, ошибка 5xx означает, что вы должны просмотреть журналы на стороне сервера и выяснить, что не так с сервером, а затем устранить эту проблему (на сервере). Если с отправленным запросом что-то не так, сервер должен вернуть код ошибки 4xx.

...