`
jieyuan_cg
  • 浏览: 37507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpClient 4.5版本设置连接超时时间

    博客分类:
  • Java
阅读更多

       HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。

       使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。

       4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下:

		CloseableHttpClient httpclient = HttpClients.createDefault();
		HttpGet httpGet = new HttpGet("http://stackoverflow.com/");
		RequestConfig requestConfig = RequestConfig.custom()
				.setConnectTimeout(5000).setConnectionRequestTimeout(1000)
				.setSocketTimeout(5000).build();
  httpGet.setConfig(requestConfig);
		CloseableHttpResponse response = httpclient.execute(httpGet);
		System.out.println("得到的结果:" + response.getStatusLine());//得到请求结果
		HttpEntity entity = response.getEntity();//得到请求回来的数据

setConnectTimeout:设置连接超时时间,单位毫秒。

setConnectionRequestTimeout:设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。

setSocketTimeout:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。

 

分享到:
评论
1 楼 xinglianxlxl 2017-08-17  
对我有用,谢谢

相关推荐

    httpclient4.5 jar包

    - **创建HttpClient实例**:通过`HttpClientBuilder`构建器可以定制化配置HttpClient实例,如设置连接超时、重试策略等。 - **发起HTTP请求**:使用`HttpGet`, `HttpPost`等请求方法,结合`URI`或`URL`指定请求...

    HttpClient4.5

    此外,它还支持连接池的配置,如最大连接数、超时设置等。 2. **请求和响应处理**:HttpClient提供了`HttpGet`、`HttpPost`等类,用于创建HTTP请求。同时,`HttpResponse`对象用于接收服务器的响应。你可以通过`...

    httpclient-4.5所需jar包

    1. **创建HttpClient实例**:首先,需要通过`HttpClientBuilder`构建一个HttpClient实例,设置连接池大小、超时时间等参数。 2. **构建HttpGet/HttpPost请求**:使用`HttpGet`或`HttpPost`类创建HTTP请求,设置URL...

    httpclient4.5源码学习

    HttpClient 4.5 版本作为其重要的一个迭代,引入了许多新特性和优化,使得其在性能、稳定性和易用性上都有显著提升。本文将深入探讨 HttpClient 4.5 的源码,以帮助开发者更好地理解和使用这一工具。 一、...

    httpclient4.5的JAR包

    2. **ConnManagement组件**:负责管理TCP连接,包括连接池和超时设置。 3. **Auth组件**:提供HTTP认证机制,支持多种认证方案。 4. **Cookie组件**:处理HTTP Cookie,支持RFC 6265规范。 5. **Redirect组件**:...

    httpclient4.5工具包

    配置HttpClient 4.5涉及到设置连接池、超时、重试策略等。例如,通过`PoolingHttpClientConnectionManager`可以管理连接池,通过`RequestConfig`定制请求配置,如设置连接和读取超时。 5. **请求与响应处理** 发送...

    httpClient4.5所需工具包

    在标题“httpClient4.5所需工具包”中,"HttpClient4.5"指的是这个项目的第4.5版本,这是一个重要的升级,包含了许多改进和新特性,以提高性能和稳定性。 HttpClient 4.5主要知识点包括: 1. **连接管理**:...

    HttpClient4.5源码

    HttpClient 4.5的源码分析可以帮助我们深入理解其内部工作原理,包括连接池管理、线程安全、异步操作、SSL/TLS配置、代理设置、超时控制等方面。源码中的关键类包括`CloseableHttpClient`、`HttpGet`、`HttpPost`、`...

    httpclient-4.5使用需要的所有jar包

    使用HTTPClient 4.5时,还需要注意配置连接池、超时设置、安全协议等参数,以优化性能和安全性。此外,由于HTTPClient支持SSL/TLS,因此在处理HTTPS请求时,可能需要处理证书和信任管理。 总的来说,HTTPClient 4.5...

    httpclient4.5所需所有jar包

    这个压缩包“httpclient4.5所需所有jar包”包含了Apache HttpClient 4.5版本所需的全部依赖库,方便开发者在项目中集成和使用。Apache HttpClient 4.5是一个稳定且功能丰富的版本,提供了许多优化和改进,适用于各种...

    httpclient.jar4.4及4.5版本和httpcore.jar和commons-logging.jar.rar

    然后,可以通过创建HttpClient实例来初始化一个客户端,设置各种参数,如超时时间、连接池大小等。接着,可以创建HttpGet或HttpPost对象来指定请求方法和URL,添加请求头和实体内容。最后,使用HttpClient的execute...

    httpclient-4.5jar包

    开发者可以设定最大连接数、每个路由的最大连接数,以及超时时间。连接池的使用可以显著减少建立新连接的开销,提高性能。 五、异步操作 HttpAsyncClient支持异步HTTP请求,通过Future或者Callback机制处理响应。...

    httpclient 4.5 所需的jar包 附带源码

    在HTTPClient中,配置SSL连接通常涉及到设置SSLContext、TrustManager和KeyManager等,以验证服务器证书和管理客户端密钥对。 了解了这些jar包后,开发者可以使用HTTPClient进行如下操作: - 发起HTTP/HTTPS请求,...

    httpclient-4.5.jar

    1. **连接管理**:HttpClient 4.5引入了更加精细的连接管理机制,允许用户根据需要调整连接池大小、超时设置等参数,以优化资源利用并提高响应速度。`HttpConnectionManager`接口及其实现,如`...

    httpclient 4.5 相关jar包 (Spring mvc REST风格对外接口,HttpClient调用)

    1. 创建HttpClient实例:配置连接池、超时等参数。 2. 构建HttpGet、HttpPost或其他HttpMethod对象,设置URL和请求头。 3. 将请求体(如果有的话)转化为适合的格式,如JSON。 4. 执行HTTP请求并获取HttpResponse。 ...

    httpclient-4.5所需jar包.zip

    2. **连接管理**:HttpClient 4.5提供了更精细的连接管理,可以设置连接池大小,超时时间等,优化了资源利用。 3. **SSL/TLS支持**:HttpClient 4.5加强了对SSL和TLS协议的支持,包括支持最新的加密算法和证书管理...

    HttpClient4.5.1手册

    **2.6 连接保持策略:** 定义了连接在空闲状态下存活的时间长度,有助于平衡资源利用与连接开销。 **2.7 连接套接字工厂** - **安全套接层:** 在HTTPS连接中,使用SSL/TLS协议来加密传输数据。 - **与连接管理器...

Global site tag (gtag.js) - Google Analytics