`
270029666
  • 浏览: 8198 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

httpclient一些设置

 
阅读更多
在使用Httpclient的过程中,线上的酒店出现过一个问题,就是当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpclient设置时,最大连接数采用了默认设置的原因,而默认的最 大连接数只有2个,所以当有大量连接需要建立时,大多数连接只有等待。后面将连接数设置修改成32个之后,这个响应时间就基本上很少出现很大的时候。

      HttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
        HttpConnectionManagerParams params = httpConnectionManager.getParams();
        params.setConnectionTimeout(5000);
        params.setSoTimeout(20000);
        params.setDefaultMaxConnectionsPerHost(32);//very important!!
        params.setMaxTotalConnections(256);//very important!!
        this.client = new HttpClient(httpConnectionManager);
        // 设置编码
        this.client.getParams().setContentCharset(CharsetHelper.GBK);
        this.client.getParams().setHttpElementCharset(CharsetHelper.GBK);


我们一般很容易注意到设置超时时间,例如这里的红色部分,但是极有可能忘记设置每个主机的最大连接数(绿色),因此大家注意一下,本来是最简单的,但也最容易被忽略。


HttpClient 怎样设置重试次数啊
DefaultHttpMethodRetryHandler





1.   int retryCount = 0;// 失败的时候,重试次数, 一般不重试,填0即可
2.   httpclient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
3.     new DefaultHttpMethodRetryHandler(retryCount, false));
分享到:
评论

相关推荐

    httpclient4.3 设置代理

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

    httpclient用法,发送get和post请求,设置header

    httpclient的用法,发送get请求和post请求,设置header

    httpclient如何保持session会话模拟登录后的操作

    6. **设置Cookie处理器**: 创建CookieStore和CookieSpecRegistry,将获取到的session ID设置到CookieStore中,并将CookieSpecRegistry设置到HttpClient中。 ```java CookieStore cookieStore = new ...

    httpclient.jar包下载

    此外,理解HttpClient的配置和设置非常重要,这直接影响到其性能和功能。例如,正确设置连接超时、读取超时以及连接池大小,可以避免因网络延迟导致的问题。 在实际开发中,我们可以通过Maven或Gradle等构建工具来...

    httpclient httpclient.jar

    通常,我们创建一个HttpClient实例,并设置其配置参数,如连接超时、重试策略等。 2. **HttpHost**:表示目标HTTP服务器的信息,包括主机名、端口和协议(HTTP或HTTPS)。 3. **HttpGet/HttpPost**:这些是执行...

    HttpClient 3.x to HttpComponents HttpClient 4.x

    在HttpClient 3.x中,可以设置代理认证、状态管理和连接管理等操作,这些操作在4.x版本中有新的实现方式。程序员需要掌握如何使用`Credentials`和`AuthScope`来处理认证,以及如何配置代理服务器。 此外,迁移指南...

    HttpClient-4.3.6

    HttpClient 4.3.6版本的一些关键特性包括: - **连接管理**:HttpClient提供了高级的连接管理机制,包括连接池(Connection Pooling)和智能重用,有效解决了HTTP连接的创建和关闭问题,提高了性能。 - **认证与...

    httpclient

    可以通过设置连接超时、读写超时、最大连接数、连接复用策略等来优化HttpClient的性能。 10. **异步操作**: HttpClient也支持异步操作,通过`HttpAsyncClient`类,可以在回调函数中处理响应,适合于高并发场景。...

    HttpClientHelper 工具类

    6. **HTTP请求配置**:可能还提供了设置超时、添加HTTP头、携带Cookie等功能,以适应不同的请求需求。 综上所述,HttpClientHelper 是一个实用的HTTP客户端工具类,结合了HttpClient的强大功能和单例模式的高效管理...

    httpClient需要的jar包

    5. **重试和恢复策略**:HttpClient可以通过设置RetryHandler来决定在网络异常或HTTP错误状态时是否重试请求。 6. **认证和安全**:HttpClient支持多种认证机制,包括基本认证、摘要认证、NTLM等。同时,它也可以...

    HttpClient4.5.1手册

    ### HttpClient4.5.1 手册知识点概览 #### 一、基础知识 **1.1 请求执行** - **HTTP请求:** 在客户端与服务器之间的交互过程中,客户端发送的每一条消息都称为一个请求。HTTP请求由三部分组成:请求行、请求头...

    Arduino HttpClient 库文件

    这个头文件定义了 `HttpClient` 类,该类封装了 HTTP 请求的相关操作,如设置 URL、POST 参数、请求方法(GET 或 POST)等,并提供了发送请求和处理响应的方法。 `HttpClient.cpp` 文件是实现文件,它实现了 `...

    httpClient

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

    httpClient实例httpClient调用 http/https实例 忽略SSL验证

    使用`HttpClientBuilder`,设置新的`SSLSocketFactory`和连接管理器: ```java Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create() .register(...

    使用HttpClient必须的jar包

    以下是一些关键的HttpClient相关的知识点: 1. **HttpClient核心组件**:HttpClient的核心库`httpclient-x.x.x.jar`包含了HttpClient的主要类和接口,如`CloseableHttpClient`(用于创建HTTP客户端实例)、`...

    commons-httpclient.rar

    2. **创建HttpClient实例**:根据项目需求初始化HttpClient对象,可以设置连接参数、重试策略等。 3. **构建HttpGet/HttpPost等请求**:根据HTTP方法创建相应的请求对象,并设置请求URL、参数、头信息等。 4. **...

    HttpClient 调用WebService示例

    在本文中,我们将深入探讨如何使用HttpClient调用WebService。 首先,调用WebService通常涉及SOAP(Simple Object Access Protocol)或RESTful API。HttpClient可以处理这两种类型的Web服务。在本示例中,我们假设...

    apache httpclient jar包

    以下是一些关于HttpClient 4.2.5的关键知识点: 1. **基本概念**: - **HttpClient实例**:创建HttpClient对象是执行HTTP请求的第一步,它可以配置各种设置,如连接超时、重试策略等。 - **HttpHost**:表示一个...

    httpclient4.2.1.zip

    除了基本的HTTP请求,HttpClient还支持更复杂的操作,如文件上传、下载、分块传输、自定义HTTP头、超时设置等。例如,使用HttpPost进行表单数据提交: ```java HttpPost httpPost = new HttpPost(...

Global site tag (gtag.js) - Google Analytics