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 01

3
@AkashRamani, Да, для этого внутри класса есть int Constants. например HttpURLConnection.HTTP_OK (200 -> http ok status) HttpURLConnection.HTTP_NOT_FOUND (404 -> not found) и т. д. полный список доступных констант вы можете найти в справочнике по классу: developer.android.com/reference/java/ net /…
Никита Куртин

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.