当前位置:首页 > 开发 > 编程语言 > Http > 正文

HttpClient 4.3与4.3版本以下版本比较

发表于: 2015-07-16   作者:spjich   来源:转载   浏览:
摘要: 网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。 httpclient又可分为 httpclient3.x httpclient4.x到httpclient4.3以下 httpclient4.3

网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。

httpclient又可分为

  • httpclient3.x
  • httpclient4.x到httpclient4.3以下
  • httpclient4.3以上

不同httpclient版本其请求发送的方式也不一样,下面来做个归纳

 

httpclient3.x

		HttpClient client = new HttpClient();
		// 设置代理服务器地址和端口
		// client.getHostConfiguration().setProxy("proxy_host_addr",proxy_port);
		// 使用 GET 方法 ,如果服务器需要通过 HTTPS 连接,那只需要将下面 URL 中的 http 换成 https
		HttpMethodmethod = new GetMethod("http://java.sun.com");
		// 使用POST方法
		// HttpMethod method = new PostMethod("http://java.sun.com");
		client.executeMethod(method);
		// 打印服务器返回的状态
		System.out.println(method.getStatusLine());
		// 打印返回的信息
		System.out.println(method.getResponseBodyAsString());
		// 释放连接
		method.releaseConnection();

 

 

httpclient4.x到httpclient4.3以下

 

public void getUrl(String url, String encoding) throws ClientProtocolException, IOException {
		HttpClient client = new DefaultHttpClient();
		HttpGet get = new HttpGet(url);
		HttpResponse response = client.execute(get);
		HttpEntity entity = response.getEntity();
		if (entity != null) {
			InputStream instream = entity.getContent();
			try {
				BufferedReader reader = new BufferedReader(new InputStreamReader(instream, encoding));
				System.out.println(reader.readLine());
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				instream.close();
			}
		}
		// 关闭连接.
		client.getConnectionManager().shutdown();
	}

 

 

 

httpclient4.3以上

 

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;


public static String getResult(String urlStr) {
		CloseableHttpClient httpClient = HttpClients.createDefault();
		// HTTP Get请求
		HttpGet httpGet = new HttpGet(urlStr);
		// 设置请求和传输超时时间
		// RequestConfig requestConfig =
		// RequestConfig.custom().setSocketTimeout(TIME_OUT).setConnectTimeout(TIME_OUT).build();
		// httpGet.setConfig(requestConfig);
		String res = "";
		try {
			// 执行请求
			HttpResponse getAddrResp = httpClient.execute(httpGet);
			HttpEntity entity = getAddrResp.getEntity();
			if (entity != null) {
				res = EntityUtils.toString(entity);
			}
			log.info("响应" + getAddrResp.getStatusLine());
		} catch (Exception e) {
			log.error(e.getMessage(), e);
			return res;
		} finally {
			try {
				httpClient.close();
			} catch (IOException e) {
				log.error(e.getMessage(), e);
				return res;
			}
		}
		return res;
	}

 

 

HttpClient 4.3与4.3版本以下版本比较

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
ES便捷启动(以下简称ES)是个桌面快捷方式的替代软件。作为小工具,其实是个,功能特别单一,并没
user版本启动时一直报错: odex has stale dependencies. <div style="font-size:14.28571510314
类是创建对象的模板。对象是类的实例。 1.创建对象 对象的 声明和为对象 分配内存地址 1)对象的声明
4.3 数据库设计 1、产品类别表 CREATE TABLE producttype`( ID int(11) NOT NULL AUTO_INCREMENT, P
Eclipse 4.3正式版发布 作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs Eclipse
jianguoliao@jianguoliao-Lenovo-IdeaPad-Y470:~/WORKING_DIRECTORY$ source build/envsetup.sh inc
Eclipse 4.3正式版发布 作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs Eclipse
• super和this的用法相同 • this代表本类应用 • super代表父类引用 • 当子父类出现同名成员时,
在Ossim4.2以后的发行版中增加了控制台功能下面加以详细说明,当Ossim启动之后,在控制台以root身份
1:首先安装zookeeeper 和tomcat 安装zookeeper 步骤 http://liliang68.iteye.com/blog/2231799 2:
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号