如何使用HttpClient
2016-05-16
直接上实例吧。
Apache官网下载 HttpClient , 下不了的点击这里,下载完后解压取lib文件夹中jar包导入到项目中
在进行本例之前需要了解三个类
HttpClient 代表Http客户端 里面定义了很多http 请求执行行为
HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例
HttpConnection 代表http连接
本次实例代码
public class HttpCLientDemo
{
// HttpClient 代表Http客户端
// HttpEntity 消息载体,发送或者接收消息的载体,可以通过客户端请求或者服务器响应获取实例
// HttpConnection 代表http连接
/**
* @param args
*/
public static void main(String[] args)
{
// 创建默认的客户端实例
HttpClient httpCLient = new DefaultHttpClient();
// 创建get请求实例
HttpGet httpget = new HttpGet("http://www.baidu.com");
System.out.println("executing request "+httpget.getURI());
try
{
// 客户端执行get请求 返回响应实体
HttpResponse response = httpCLient.execute(httpget);
// 服务器响应状态行
System.out.println(response.getStatusLine());
Header[] heads = response.getAllHeaders();
// 打印所有响应头
for(Header h:heads){
System.out.println(h.getName()+":"+h.getValue());
}
// 获取响应消息实体
HttpEntity entity = response.getEntity();
System.out.println("------------------------------------");
if(entity != null){
//响应内容
System.out.println(EntityUtils.toString(entity));
System.out.println("----------------------------------------");
// 响应内容长度
System.out.println("响应内容长度:"+entity.getContentLength());
}
} catch (ClientProtocolException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}finally{
httpCLient.getConnectionManager().shutdown();
}
}
}
2018-07-30 · 做真实的自己 用良心做教育
1. 创建HttpClient对象。
2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。
3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。
4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。
5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。
6. 释放连接。无论执行方法是否成功,都必须释放连接