`

简单的httpClient访问

 
阅读更多

1、下载 httpcomponents-client-4.1.1
2、在eclipse中导入htttpClient的jar   

 

首先模拟http请求头:
 HttpGet httpost = new HttpGet("http://www.baidu.com");
        //确定模拟浏览器的类型
        httpost.addHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18");
       //请求格式
        httpost.addHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") ;
      //请求刷新的地址
        httpost.addHeader("Referer",  "	http://www.baidu.com/");
     //请求的语种
        httpost.addHeader("Accept-Language", "zh-cn");
    //字符集信息
        httpost.addHeader("Accept-Charset", "GB2312,utf-8;q=0.7,*;q=0.7");
   //请求的主机
        httpost.addHeader("Host", "www.baidu.com");
   //连接信息
        httpost.addHeader("Connection", "keep-alive");

添加请求参数:
            List <namevaluepair> nvps = new ArrayList <namevaluepair>();
            nvps.add(new BasicNameValuePair("username", "caisijia"));
            nvps.add(new BasicNameValuePair("password", "12qwaszx"));
            nvps.add(new BasicNameValuePair("getrand", "av1.v"));
           //接受请求参数
            httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));  
             
发送请求 获取响应头
    //建立http客户端
  HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response=null;
		try {
                       //执行并且获取 响应头
			response = httpclient.execute(httpget);

			Header[] hs = response.getAllHeaders();
			for(Header h:hs) {
				System.out.println(h.getName()+"   "+h.getValue());
			}

		} catch (Exception e) {
			//发送请求时 错误
			e.printStackTrace();
		}

        //获取响应内容
        HttpEntity ent = response.getEntity();
        InputStream instream=null;
        BufferedReader reader = null;
        try {
	        if (ent != null) {
	        	instream = ent.getContent();
	            reader = new BufferedReader(
	                        new InputStreamReader(instream));
	                StringBuilder sb  =new StringBuilder();
	    		    	String line;
	    		    	while ((line = reader.readLine()) != null) {
	    		    		sb.append(line);
	    		    	}
	    		    	System.out.println(sb.toString());
	        }
         } catch (Exception ex) {
        	 if(httpget.isAborted())
            	httpget.abort();
         } finally {
            	try {
            	if(reader!=null)
            		reader.close();
            	if(instream!=null)
            		instream.close();
            	}catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		    }

            httpclient.getConnectionManager().shutdown();
 

 

 

分享到:
评论
2 楼 君心可晴 2012-01-02  
lz学习了,灰常感谢 
1 楼 SVFdnhbfsdn 2011-11-02  

相关推荐

    httpclient4.1访问https的配置方法

    利用tomcat搭建支持ssl的服务,并由httpClient进行https访问。整个过程简单明了。 1.生成key. 2.配置tomcat支持ssl 3.利用一个简单例子用httpClient连接ssl

    Android移动开发-使用HttpClient访问被保护资源的实现

    Android使用HttpClient发送请求、接收响应很简单,只要如下几步即可: Step1:创建HttpClient对象; Step2:如果需要发送GET请求,则创建HttpGet对象; 如果需要发送POST请求,则创建HttpPost对象; Step3:如果...

    HttpClient以及获取页面内容应用

    使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。 1.创建HttpClient对象。 HttpClient client = new HttpClient(); 2.创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;...

    httpClient

    HttpClient httpClient = new HttpClient(); // 设置 Http 连接超时为5秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); /* 2 生成 GetMethod 对象并设置参数 */ GetMethod ...

    Spring 实现远程访问详解——httpclient

    说得简单就是直接通过spring requestmapping即请求映射url访问远程服务。 1. 远程访问流程 1) 服务器在控制器定义远程访问请求映射路径 2) 客户端通过apache httpclient的 httppost方式访问远程服务 2. Httpclient...

    用HttpClient来模拟浏览器GET POST

    但是考虑到一些服务授权的问题,很多公司提供的页面往往并不是可以通过一个简单的URL就可以访问的,而必须经过注册然后登录后方可使用提供服务的页面,这个时候就涉及到COOKIE问题的处理。我们知道目前流行的***页...

    使用HttpClient下载图片

    HttpURLConnection与HttpClient的区别: HttpClient是个很不错的...HttpURLConnection是java的标准类,可以实现简单的基于URL请求、响应功能,什么都没封装,用起来太原始,比如重访问的自定义,以及一些高级功能等。

    高效池化-JAVA-HttpClient工具类

    1.高效简单池化的HttpClient工具类,提供单元测试用列。 2.支持基于SpringBoot 2.1.x的自动装载模块,引用依赖即可使用。 3.公司几十个项目都使用该工具类访问第三方的Http/Https+json协议接口。 4.经过上市公司多个...

    Android例子源码使用HttpClient获取网页html源代码

    本例子是一个使用HttpClient和URLConnection获取网页html内容的小例子,获取到的源码不解析直接显示,技术比较简单,需要的朋友可以下载研究一下,项目编码GBK默认编译版本2.3.3

    基于HttpClient的Android远程数据库访问

    本文主要运用HttpClient组件,完成对远程数据库的访问,实现Android客户端对远程服务器数据的调用及修改。  1.引言  虽然Android本身具有SQLite的支持,但SQLite数据只能进行简单的CRUD操作,数据类型也不能太...

    利用HttpClient和HtmlParser实现的简单爬虫(Java)

    利用HttpClient和HtmlParser实现的简单爬虫(Java)

    httpclient开发包

    客户端调用非常简单,轻量级调用,不需要任何存根的问题,也没有容器的限制,只需要服务器端暴露一个URL(及该URL访问不需要拦截器),双方定义入参、和输出格式; httpclient模拟浏览器中一个表单提交或者说异步...

    通信与网络中的基于HttpClient的Android远程数据库访问

    本文主要运用HttpClient组件,完成对远程数据库的访问,实现Android客户端对远程服务器数据的调用及修改。  1.引言  虽然Android本身具有SQLite的支持,但SQLite数据只能进行简单的CRUD操作,数据类型也不能太...

    HttpHelper:对HttpClient进行封装,简化getpost操作

    ####对HttpClient进行封装,简化get/post操作,使用简单方便。 在Java开发中,HttpClient的应用非常广泛。用的多了,自然会想去把他封装一下,写一个自己的小类库,方便自己日常学习工作使用。于是,就结合工作情况...

    Android 中HttpURLConnection与HttpClient使用的简单实例

    1:HttpHelper.java 代码如下:public class HttpHelper { //1:标准的Java接口 public static String getStringFromNet1(String param){ String result=””; try{ URL url=new URL(param);...

    Android也架构之三:简单工厂模式优化网络请求

    很悲催,我们在《Android也架构之二:单例模式访问网络》 用httpConnect的方式去访问网络,而且能够正常获取数据了,可是老板能,技术出生,他要求我重新用httpClient去获取获取网络数据,童鞋们,是不是头快爆炸了...

    OkHttp网络框架源码

    OkHttp网络框架简单使用,get请求, OkHttp,网络框架,源码,androidstudio,java

    RenrenSpider:基于HttpClient+Jsoup的简单人人爬虫

    RenrenSpider 基于HttpClient+Jsoup的简单人人爬虫 ##注意 需要设定自己的账号密码以及初始爬取路径。 人人限制访问100个好友后需要输入验证码,暂未解决,应该可以使用tesseract ocr进行识别。

    httpclientdownder

    基于httpclient采集工具类、简单易用好操作-------------------------------------------------------------

Global site tag (gtag.js) - Google Analytics