HttpClient 分析

还是按照整体思想来分析HttpClient整体框架后细节】

这也是本人的学习方法!

HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议;

      从HttpClient的表述可以知道 HttpClient 是一个工具包!可以理解第三方类库!

      很多人下载了第三方jar后,大部分估计不知道怎么使用它的,没有API Example ...无从下手!怎么办?请看下面解释: 

      关于对第三类库的学习建议去它对应的官方网站下载源码来学习。官方网站下载对应的源码里面包括你想要各种资料;如API  Example ...etc 

      可以从其中的源码来学习它的用法;这是最直接的方法,也是最有效的方法。哈哈。。。不解释了,继续:

      说了这么多那么HttpClient 到底是做什么用的呢?在什么场景下用呢? 以及如何使用呢?下面来依依分析它:


    1.HttpCilent到底是做什么用的呢?转载网友的说法:


 通过上面可以知道这个工具包到底是做什么用的了,至少有一个大概的思想了吧!哈哈!


 2 HttpClient 如何使用?

    直接代码:

  

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

/*
 * HttpClinet Demo
 * author lxd
 * date 2013-08-10
 */
public class MainDeom {
 
	
	
	/**
	 * @param args
	 * @throws IOException 
	 * @throws ClientProtocolException 
	 */
	public static void main(String[] args) throws ClientProtocolException, IOException {
		//New HttpClient Object  version4.x  HttpClient is Interface ;
		//Default use DefaultHttpClient Class implements HttpClient ;
		HttpClient client = new DefaultHttpClient();
		
		//New HttpGet  
		//HttpGet is Return Url information   ;
		HttpGet httpget = new HttpGet("http://lenovo:8080/CM/web/index.jsp");
	
		//HttpClient is execute httpget   return Response;
		HttpResponse response = client.execute(httpget);
		
		//Response.getAllHeaders() is Return Server Environments include : Server,date ...;
		Header atrs [] = response.getAllHeaders();
		System.out.println(atrs[1]);
		
		//Response.getStatuLine is Return Execute State;
		System.out.println(response.getStatusLine());
		
		System.out.println(response.getHeaders("Set-Cookie"));
		
		//Respnse.getEntity Return Content;
		HttpEntity Entity = response.getEntity();
		
		System.out.println(Entity.getClass());
	
		//HttpEntity Return InputStream;
		InputStream ip   = Entity.getContent();
		
		
		byte date[] = null;
		try {
			BufferedInputStream fs = new BufferedInputStream(ip);
			
			date = new byte[1024];
			
			if(fs.read() != -1){
				fs.read(date);
			}
			ip.close();
			fs.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	
		String content = new String(date,"utf-8");
		
		
		System.out.println(content);
	}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值