2012-05-01 3 views
2

После вызова следующего кода getResponseCode() возвращает код ответа, возвращаемый удаленным HTTP-сервером. Этот код содержит краткое описание. Как я могу получить его описание программно в Android?Как я могу получить описание ResponseCode HttpURLConnection?

URL myurl = new URL(url); 
URLConnection connection = myurl.openConnection(); 
HttpURLConnection httpConnection = (HttpURLConnection) connection; 
int responseCode = httpConnection.getResponseCode(); 

UPDATE

httpConnection.getResponseMessage() иногда возвращает "не найден", тогда как responseCode действует

+2

возможно дубликат [Как преобразовать HTTP код статуса в текст в Java?] (Http://stackoverflow.com/questions/8179547/how-to-convert-http-status-code-into -text-in-java) –

+2

Что касается вашего обновления: когда-либо случалось, что фактическое ответное сообщение ** буквально ** «не найдено»? Другими словами: ваш код ответа равен 404, потому что ресурс * не найден *. –

+0

Вы правы. это была моя ошибка. – Conscious

ответ

4

попробовать getResponseMessage(), это будет строка сообщения вы можете интересно.

+0

Я протестировал его. он не возвращает свое описание – Conscious

+2

, какое описание вы хотите? 'HTTP/1.0 200 OK HTTP/1.0 404 Не найдено. Извлекает строки «ОК» и «Не найдено» соответственно. Возвращает значение null, если из ответов не было обнаружено ни одного (результат недействителен HTTP) .' – user1335794

+0

например 'public static final int HTTP_OK: OK ' или 'public static final int HTTP_PROXY_AUTH: Требуется аутентификация прокси или' public static final int HTTP_VERSION: версия не поддерживается' – Conscious

2

Попробуйте

httpConnection.getResponseMessage() 
+0

Я протестировал его. он не возвращает свое описание – Conscious

0

Вы более чем можете проверить HTTP/1.1 RFC, который содержит именно то, что вы ищете.

+0

Как я могу получить его описание программно? – Conscious

+0

зачем вам это нужно ?! вся точка протокола - ссылаться на сообщения как коды – thepoosh

2

документы говорят:

Получает ответное сообщение HTTP, если таковые имеются, вернулся вместе с кодом ответа от сервера. > Из ответов типа: HTTP/1.0 200 OK HTTP/1.0 404 Не найдено Извлекает строки «ОК» и «Не найдено» соответственно. Возвращает null, если ни один из них не может быть распознан из ответов (результат недействителен HTTP).

Возможно, на вашем сервере нет сообщений? Вы также можете написать свой собственный метод, который вернет описания для кодов. например

public static String getMessage(int code) { 
     switch(code) { 
      case 200: return "OK"; 
     } 
    } 
Смежные вопросы