I'm using the org.apache.http.HttpResponse
class in my Java application, and I need to be able to get the HTTP status code. If I used .toString()
on it, I can see the HTTP status code in there. Is there any other function that I can just get the HTTP status code as either an int or String?
Thanks a bunch!
Use HttpResponse.getStatusLine()
, which returns a StatusLine
object containing the status code, protocol version and "reason".
I have used httpResponse.getStatusLine().getStatusCode()
and have found this to reliably return the integer http status code.
httpResponse.getStatusLine().getStatusCode()
A example will be as below,
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());