`
spjich
  • 浏览: 94995 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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

    博客分类:
  • j2ee
阅读更多

网上利用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);
                //设置超时时间
                HttpParams params = client.getParams();
                HttpConnectionParams.setConnectionTimeout(params, (int) 10 * 1000);
                HttpConnectionParams.setSoTimeout(params, 10 * 1000);
		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;
	}

 

 

3
0
分享到:
评论

相关推荐

    httpclient4.3工具类

    在这个`httpclient4.3工具类`中,我们看到的是一个自定义的`httpclientUtils`,它是为了满足特定项目需求而编写的,集成了常见的HTTP操作。 HttpClient 4.3主要知识点包括: 1. **连接管理**:HttpClient 4.3引入...

    httpclient4.3 封装工具类

    HttpClient 4.3版本是对该库的一次重要更新,提供了更多的功能和优化。这个封裝工具类是对HttpClient 4.3进行的二次开发,旨在简化HTTP请求的处理,解决一些常见的问题,如代理设置、多线程并发请求、SSL安全连接...

    httpclient4.3.x及其依赖jar包

    HttpClient 4.3.x是该库的一个重要版本,它提供了丰富的功能和改进,使得开发者能够更方便地与Web服务器进行交互。在本文中,我们将深入探讨HttpClient 4.3.x的核心特性、依赖关系以及如何在实际项目中应用。 **...

    httpClient4.3官方包

    这个"httpClient4.3官方包"包含了HttpClient 4.3.1版本的所有源代码和必要的文档文件,使得用户可以直接在自己的项目中使用或进行深入学习。 HttpClient 4.3版本引入了许多改进和新特性,如支持最新的HTTP/1.1和...

    httpClient4.3 Jar包 demo

    在这个"httpClient4.3 Jar包 demo"中,你将找到HttpClient 4.3的jar文件以及相关的示例代码,对于学习和理解HttpClient的使用非常有帮助。 HttpClient 4.3主要知识点包括: 1. **基础概念**: - **HttpClient对象...

    HttpClient4.3需要的jar

    HttpClient 4.3是一个重要的版本,它提供了许多改进和新特性,使得开发者可以更高效、更灵活地与Web服务器进行交互。这个压缩包包含了HttpClient 4.3版本所需的jar文件和其他依赖库,以确保能够正确运行基于...

    httpClient4.3

    HttpClient 4.3 版本是该库的一个稳定版本,提供了许多改进和新特性,以增强性能和易用性。 HttpClient 4.3 的核心概念包括: 1. **HttpClient 实例**:这是执行 HTTP 请求的基础。开发者通常会创建一个 ...

    httpclient 4.3 中文版

    ### HttpClient 4.3 中文版相关知识点 #### 一、概述 Apache HttpClient 是一个用于构建 HTTP 客户端的应用程序编程接口 (API),属于 Apache Jakarta Commons 的一部分。该库支持 HTTP 协议的最新标准,并提供了...

    HTTPClient 4.3.X

    标题 "HTTPClient 4.3.X" 涉及的是Apache HttpClient库的一个版本,这是一个广泛使用的Java库,用于实现客户端HTTP通信。这个库为开发者提供了丰富的功能,包括发送HTTP请求,处理响应,管理连接池,处理cookies,...

    httpclient-4.3.jar

    2. 连接管理:HttpClient 4.3引入了更高效的连接管理器,允许用户控制连接池的大小,避免过多的TCP连接创建与销毁,从而提高性能。 3. 异步操作:除了传统的同步API,HttpClient 4.3还提供了异步客户端,支持非阻塞...

    httpclient4.3所需jar包

    HTTPClient是Java编程中用于处理HTTP协议的库,版本4.3是一个常用且稳定的版本。在进行网络爬虫开发时,HTTPClient库扮演了至关重要的角色,它提供了丰富的功能,如发起HTTP请求、处理响应、管理Cookie、实现重试...

    httpclient4.3 和 httpcore4.4

    《HttpClient 4.3与HttpCore 4.4详解》 在Java开发中,HttpClient库是进行HTTP通信的重要工具,而HttpCore则是HttpClient的核心组件,它们共同为开发者提供了强大且灵活的HTTP客户端服务。本文将深入探讨HttpClient...

    HttpClient4.3教程共51页.pdf.zip

    HttpClient 4.3版本是一个重要的里程碑,它引入了许多新特性、优化和改进,旨在提高性能,增强稳定性和易用性。这个教程可能是针对开发者设计的,帮助他们深入理解和有效地使用HttpClient 4.3进行网络请求。 ...

    httpclient4.3登陆人人

    标题中的“httpclient4.3登陆人人”指的是使用Apache HttpClient 4.3版本实现对人人网的自动登录功能。HttpClient是一个流行的开源Java库,它允许开发者执行HTTP请求并处理响应,广泛应用于网络爬虫、自动化测试和...

    httpclient4.3中文教程

    HttpClient 4.3 版本可能包括对 HTTP/1.1 协议的改进和优化,增强了错误处理和性能,同时也可能提供了更好的可扩展性和定制性。开发者可以根据自己的需求配置 HttpClient 实例,以适应不同的网络环境和应用需求。 ...

    httpClient4.3文档 PDF

    HttpClient 4.3是其一个重要的版本,提供了许多新特性和改进,以提升性能和易用性。这个压缩包包含两份文档,一份是.docx格式,一份是.pdf格式,两者内容相同,都是关于HttpClient 4.3的中文版指南。 HttpClient的...

    HttpClient 4.3教程.rar

    在HttpClient 4.3版本中,这个库进行了许多改进和优化,使其更适用于复杂的网络通信需求。本教程将详细介绍HttpClient 4.3的主要特性和使用方法。 一、HttpClient简介 HttpClient是一个Java库,它允许开发人员执行...

    httpclient4.3 设置代理

    javase http通讯技术 apache httpclient4.3 设置代理详解

    httpclient4.3 封装工具类.zip

    这个压缩包“httpclient4.3 封装工具类.zip”很可能包含了一些预先封装好的工具类,用于简化使用HttpClient进行网络请求的过程。以下是一些关于HttpClient 4.3以及如何封装工具类的关键知识点: 1. **HttpClient ...

    Httpclient 4.3 jar包

    在实际开发中,Apache HttpClient 4.3.x 版本被广泛应用于各种场景,如Web服务调用、数据抓取、文件上传下载等。它的灵活性和可配置性使其成为Java开发者的首选HTTP客户端库之一。通过这两个jar文件,开发者可以构建...

Global site tag (gtag.js) - Google Analytics