Получите код HTTP из org.apache.http.HttpResponse

83

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

Огромное спасибо!

Чиггинс
источник

Ответы:

134

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

Мэтт Би
источник
70

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

user1735872
источник
35
httpResponse.getStatusLine().getStatusCode()
бентобокс
источник
2

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

        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());
Линус
источник