import org.apache.http.HttpResponse; import org.apache.http.conn.ConnectionKeepAliveStrategy; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; /** * http连接池 * @author shencl */ public class HttpPool { static CloseableHttpClient httpClient = null; public static synchronized CloseableHttpClient getHttpClient() { if (httpClient == null) { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // 连接池最大连接数 cm.setMaxTotal(200); // 单条链路最大连接数(一个ip+一个端口 是一个链路) cm.setDefaultMaxPerRoute(100); // 指定某条链路的最大连接数 ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive = super.getKeepAliveDuration(response, context); if (keepAlive == -1) { keepAlive = 60000; } return keepAlive; } }; httpClient = HttpClients.custom().setConnectionManager(cm).setKeepAliveStrategy(kaStrategy).build(); } return httpClient; } }
private static int CONNECT_TIMEOUT = 10000; private static int SOCKE_TTIMEOUT = 10000; private static int CONNECTION_REQUEST_TIMEOUT = 1000; CloseableHttpClient httpClient = HttpPool.getHttpClient(); HttpGet httpGet = new HttpGet(url); RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(CONNECT_TIMEOUT) .setConnectionRequestTimeout(CONNECTION_REQUEST_TIMEOUT) .setSocketTimeout(SOCKE_TTIMEOUT).build(); httpGet.setConfig(requestConfig); CloseableHttpResponse response = httpClient.execute(httpGet); Integer code = response.getStatusLine().getStatusCode(); HttpEntity entity = response.getEntity();
相关推荐
在这个`httpclient4.3工具类`中,我们看到的是一个自定义的`httpclientUtils`,它是为了满足特定项目需求而编写的,集成了常见的HTTP操作。 HttpClient 4.3主要知识点包括: 1. **连接管理**:HttpClient 4.3引入...
HttpClient 4.3.x是该库的一个重要版本,它提供了丰富的功能和改进,使得开发者能够更方便地与Web服务器进行交互。在本文中,我们将深入探讨HttpClient 4.3.x的核心特性、依赖关系以及如何在实际项目中应用。 **...
HttpClient 4.3版本是对该库的一次重要更新,提供了更多的功能和优化。这个封裝工具类是对HttpClient 4.3进行的二次开发,旨在简化HTTP请求的处理,解决一些常见的问题,如代理设置、多线程并发请求、SSL安全连接...
本文将深入探讨HttpClient 4.3和HttpCore 4.4这两个版本的关键特性、改进及使用方法。 HttpClient 4.3是一个重大的更新,它引入了诸多增强功能和性能优化。首先,HttpClient 4.3支持了HTTP/1.1和HTTP/2协议,使...
在这个"httpClient4.3 Jar包 demo"中,你将找到HttpClient 4.3的jar文件以及相关的示例代码,对于学习和理解HttpClient的使用非常有帮助。 HttpClient 4.3主要知识点包括: 1. **基础概念**: - **HttpClient对象...
这个"httpClient4.3官方包"包含了HttpClient 4.3.1版本的所有源代码和必要的文档文件,使得用户可以直接在自己的项目中使用或进行深入学习。 HttpClient 4.3版本引入了许多改进和新特性,如支持最新的HTTP/1.1和...
HttpClient 4.3 版本是该库的一个稳定版本,提供了许多改进和新特性,以增强性能和易用性。 HttpClient 4.3 的核心概念包括: 1. **HttpClient 实例**:这是执行 HTTP 请求的基础。开发者通常会创建一个 ...
这个压缩包包含了HttpClient 4.3版本所需的jar文件和其他依赖库,以确保能够正确运行基于HttpClient的Java应用。 在HttpClient 4.3中,主要知识点包括: 1. **基本概念**:HttpClient是一个客户端编程工具包,它...
描述中提到的链接指向了一个ITEYE博客,虽然内容未给出,但可以推测博主可能分享了关于使用HTTPClient 4.3.X的一些经验,可能包括配置,最佳实践,或者是遇到的问题及解决方案。 标签 "源码" 暗示我们可能会讨论到...
1. HTTP协议支持:HttpClient 4.3全面支持HTTP/1.1和部分HTTP/2规范,包括GET、POST、PUT、DELETE等多种HTTP方法,以及Cookie管理、重定向处理、连接管理和认证等机制。 2. 连接管理:HttpClient 4.3引入了更高效的...
### HttpClient 4.3 中文版相关知识点 #### 一、概述 Apache HttpClient 是一个用于构建 HTTP 客户端的应用程序编程接口 (API),属于 Apache Jakarta Commons 的一部分。该库支持 HTTP 协议的最新标准,并提供了...
本知识点将详细介绍HTTPClient 4.3在爬虫开发中的应用及其主要组件。 一、HTTPClient 4.3的安装与引入 在Java项目中使用HTTPClient 4.3,首先需要下载相关的jar包。提供的"httpclient43"压缩包应包含所有必需的依赖...
3. **多路复用**:HttpClient 4.3支持HTTP/1.1的Keep-Alive和HTTP/2的多路复用,可以减少网络延迟,提高请求处理速度。 4. **请求构建器**:HttpClient提供了RequestBuilder类,方便用户构建复杂的HTTP请求,包括...
javase http通讯技术 apache httpclient4.3 设置代理详解
标题中的“httpclient4.3登陆人人”指的是使用Apache HttpClient 4.3版本实现对人人网的自动登录功能。HttpClient是一个流行的开源Java库,它允许开发者执行HTTP请求并处理响应,广泛应用于网络爬虫、自动化测试和...
本教程将详细介绍HttpClient 4.3的主要特性和使用方法。 一、HttpClient简介 HttpClient是一个Java库,它允许开发人员执行HTTP和HTTPS请求,并处理响应。它支持各种HTTP方法(如GET、POST、PUT、DELETE等),提供了...
这个压缩包“httpclient4.3 封装工具类.zip”很可能包含了一些预先封装好的工具类,用于简化使用HttpClient进行网络请求的过程。以下是一些关于HttpClient 4.3以及如何封装工具类的关键知识点: 1. **HttpClient ...
HttpClient 4.3的文档详细介绍了这些功能的使用方法和示例,包括错误处理、性能调优、高级特性的应用等。通过阅读这份文档,开发者可以深入理解HttpClient的工作原理,从而更好地在实际项目中运用它。 总之,...
此外,HttpClient 还支持设置请求头、身份验证、连接管理、超时控制等高级功能,以满足各种复杂的网络通信需求。 HttpClient 不是浏览器,它不会解析 HTML 内容或执行 JavaScript。它是一个低级别的库,主要用于...
HttpClient 4.3.x 版本是该库的一个稳定版本,提供了丰富的功能和优化,使得开发者可以方便地处理HTTP通信。这个jar包包括两个主要的组件:`httpclient-4.3.3.jar` 和 `httpmime-4.3.jar`。 1. **HttpClient组件...