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(); } } }
使用之前导入相应的jar包,然后开始编码,先创建一个客户端,根据需求可以配置,接着实例一个请求(get post put。。。),
然后用客户端对某一个服务器执行请求操作,可以得到一个http响应,
这里响应 结构如下 消息状态行,消息头,消息实体
Response = Status-Line *(( general-header | response-header | entity-header ) CRLF) CRLF [ message-body ]
消息状态行:
HTTP/1.1 200 OK
消息响应头:
Date:Tue, 08 Jan 2013 07:18:42 GMT
Server:BWS/1.0
Content-Length:9785
Content-Type:text/html;charset=gbk
Cache-Control:private
Expires:Tue, 08 Jan 2013 07:18:42 GMT
Set-Cookie:H_PS_PSSID=1757; path=/; domain=.baidu.com
Set-Cookie:BAIDUID=22B4BB1F8F8E808DB50B6513DBBCF6DF:FG=1; expires=Tue, 08-Jan-43 07:18:42 GMT; path=/; domain=.baidu.com
P3P:CP=" OTI DSP COR IVA OUR IND COM "
Connection:Keep-Alive
本次对HttpClient的简单使用到此为止