Android: Як отримати код стану запиту HttpClient


90

Я хочу завантажити файл і мені потрібно перевірити код стану відповіді (тобто HTTP /1.1 200 OK). Це фрагмент мого коду:

HttpGet httpRequest = new HttpGet(myUri);
HttpEntity httpEntity = null;
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpRequest);
...

Як отримати код стану відповіді?

Відповіді:


211

Це поверне intзначення:

response.getStatusLine().getStatusCode()

30
Тоді ви можете порівняти з кодами стану HTTP developer.android.com/reference/org/apache/http/HttpStatus.html
thanhbinh84

2
Оскільки HttpStatus є застарілим класом, чи можна використовувати кращий клас?
gaara87

@AkashRamani - Так, просто використовуй метод HttpUrlConnection: .getResponseCode ()
Нікіта Куртін

1
@NikitaKurtin впевнений, що повертає ціле число, але звідки ви дізнаєтесь, яким є фактичний статус відповіді Http коду відповіді? Як ви дізнаєтесь, чи це вдало? Я не хочу сказати if(getResponseCode()==200). Я краще скажу if(getResponseCode()==HttpStatus.RESPONSE_OK)або щось подібне.
gaara87

3
@AkashRamani, так, у ньому є int Константи всередині класу для цього. наприклад HttpURLConnection.HTTP_OK (200 -> статус http ok) HttpURLConnection.HTTP_NOT_FOUND (404 -> не знайдено) тощо. Повний перелік доступних констант ви можете знайти в його посиланні на клас: developer.android.com/reference/java/ net /…
Микита Куртін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.