Получить код HTTP от org.apache.http.HttpResponse - PullRequest
71 голосов
/ 27 мая 2011

Я использую класс org.apache.http.HttpResponse в своем приложении Java, и мне нужно иметь возможность получить код состояния HTTP. Если я использовал .toString(), я могу видеть там код состояния HTTP. Есть ли какая-либо другая функция, с помощью которой я могу получить код состояния HTTP как int или String?

Спасибо большое!

Ответы [ 4 ]

128 голосов
/ 27 мая 2011

Использовать HttpResponse.getStatusLine(), который возвращает объект StatusLine, содержащий код состояния, версию протокола и «причину».

63 голосов
/ 11 октября 2012

Я использовал httpResponse.getStatusLine().getStatusCode() и обнаружил, что это надежно возвращает целочисленный код состояния http.

29 голосов
/ 10 марта 2012
httpResponse.getStatusLine().getStatusCode()
1 голос
/ 12 октября 2017

Пример будет таким, как показано ниже,

        final String enhancementPayload ="sunil kumar";
        HttpPost submitFormReq = new HttpPost("https://bgl-ast/rest/service/form/form-data");
        StringEntity enhancementJson = new StringEntity(enhancementPayload);
        submitFormReq.setEntity(enhancementJson);
        submitFormReq.setHeader("Content-Type", "application/xml");

        HttpResponse response = httpClient.execute( submitFormReq );
        String result = EntityUtils.toString(response.getEntity());
        System.out.println("result "+result);
        assertEquals(200, response.getStatusLine().getStatusCode());
...