HttpComponents —— HTTP响应(HttpResponse)

来源:互联网 发布:淘宝网摩托车专卖区 编辑:程序博客网 时间:2024/04/27 21:42

目录:

  • HTTP响应拦截器

         HTTP响应是由服务器在接收和解释请求报文之后返回发送给客户端的报文。响应报文的第一行包含了协议版本,之后是数字状态码和相关联的文本段。

HttpResponse response =new BasicHttpResponse(HttpVersion.HTTP_1_1,

HttpStatus.SC_OK, "OK");

System.out.println(response.getProtocolVersion());

System.out.println(response.getStatusLine().getStatusCode());

System.out.println(response.getStatusLine().getReasonPhrase());

System.out.println(response.getStatusLine());

输出:

HTTP/1.1

200

OK

HTTP/1.1 200 OK

 


响应控制器

        控制响应的最简便和最方便的方式是使用ResponseHandler接口。这个放完完全减轻了用户关于连接管理的担心。当使用ResponseHandler时,HttpClient将会自动关注并保证释放连接到连接管理器中去,而不管请求执行是否成功或引发了异常。

HttpGet httpGet =new HttpGet("http://localhost/");

ResponseHandler<byte[]> handler =new ResponseHandler<byte[]>() {

public byte[] handleResponse(HttpResponse response)

throws ClientProtocolException, IOException {

HttpEntity entity = response.getEntity();

if (entity != null) {

return EntityUtils.toByteArray(entity);

} else {

return null;

}

}

};

byte[] response = client.execute(httpGet, handler);