Rufen Sie den HTTP-Code von org.apache.http.HttpResponse ab

82

Ich verwende die org.apache.http.HttpResponseKlasse in meiner Java-Anwendung und muss in der Lage sein, den HTTP-Statuscode abzurufen. Wenn ich es verwendet .toString()habe, kann ich dort den HTTP-Statuscode sehen. Gibt es eine andere Funktion, bei der ich den HTTP-Statuscode entweder als int oder als String abrufen kann?

Vielen Dank!

Chiggins
quelle

Antworten:

133

Verwenden Sie HttpResponse.getStatusLine()diese Option, um ein StatusLineObjekt zurückzugeben, das den Statuscode, die Protokollversion und den "Grund" enthält.

matt b
quelle
69

Ich habe dies verwendet httpResponse.getStatusLine().getStatusCode()und festgestellt, um den ganzzahligen http-Statuscode zuverlässig zurückzugeben.

user1735872
quelle
35
httpResponse.getStatusLine().getStatusCode()
Bentobox
quelle
2

Ein Beispiel ist wie folgt:

        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());
Linus
quelle