HttpClient初步使用方法

                  HttpClient简单使用

准备

         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的简单使用到此为止


发布了61 篇原创文章 · 获赞 380 · 访问量 58万+

猜你喜欢

转载自blog.csdn.net/manymore13/article/details/8481230
今日推荐