Search code examples
androidhttpresponse

Status code of HTTP response of server in Android phone is printed in the body of response


I am using http://hc.apache.org/httpcomponents-core-ga/httpcore/examples/org/apache/http/examples/ElementalHttpServer.java for Android.

I set the response using the following code:

HttpResponse getResponse = new BasicHttpResponse(HttpVersion.HTTP_1_1, 404, "Not Found");
getResponse.setEntity(new StringEntity(new String("The requested resource " + target + " could not be found due to mismatch!!")));  
conn.sendResponseHeader(getResponse);
conn.sendResponseEntity(getResponse);

My response in Mozilla Poster or browser has the header 404 and the response body as:

The requested resource  could not be found due to mismatch!!HTTP/1.1 200 OK

How can I get only the HTTP body String? Why am I getting HTTP/1.1 200 OK in response. I dont set this in my code. Any help is appreciated.

enter image description here


Solution

  • there was a problem in my defined handle() method. I was creating a new HttpResponse for each request instead of using the response passed in the

    public void handle(HttpRequest request, HttpResponse response, HttpContext context)