`

HttpClient设置连接超时时间

    博客分类:
  • java
 
阅读更多

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

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

CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://www.baidu.com");
RequestConfig requestConfig = RequestConfig.custom()
        .setConnectTimeout(5000).setConnectionRequestTimeout(1000)
        .setSocketTimeout(5000).build();
httpGet.setConfig(requestConfig);
CloseableHttpResponse response = null;
try {
    response = httpclient.execute(httpGet);
} catch (IOException e) {
    e.printStackTrace();
}
System.out.println("得到的结果:" + response.getStatusLine());//得到请求结果
HttpEntity entity = response.getEntity();//得到请求回来的数据
String s = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println(s);

 

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

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

 

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

 

转自:https://www.cnblogs.com/winner-0715/p/7087591.html

分享到:
评论

相关推荐

    java httpclient设置超时时间和代理的方法

    Java HTTPClient 设置超时时间和代理的方法 Java HTTPClient 是一个功能强大且灵活的 HTTP 客户端库,提供了许多实用的功能来处理 HTTP 请求。其中,设置超时时间和代理是两个非常重要的配置项,本文将详细介绍如何...

    HttpClient4.5.1手册

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

    dotnet 6 精细控制 HttpClient 网络请求超时.rar

    1. **Timeout 属性**:HttpClient有一个Timeout属性,可以用来设置整个请求过程的超时时间。这是一个整体超时,包括DNS解析、建立TCP连接、发送请求数据以及接收响应数据等所有步骤。如果在指定时间内没有完成这些...

    dotnet 6 使用 HttpClient 的超时机制.rar

    如上所示,可以通过设置`HttpClient`的`Timeout`属性来指定请求超时时间。这是一个`TimeSpan`值,表示在接收到响应或完成请求之前等待的时间。默认值是100秒。 3. **临时覆盖超时**: 在某些情况下,可能需要为单个...

    Java网络编程教程之设置请求超时的方法

    设置网络超时设置后,请求在设定时间能未完成将被强制终止,保证程序不出现无限制的线程阻塞情况,有效的提高了应用的可用性。 二、未设置超时与设置超时情况对比 在未设置超时的情况下,网络请求可能会出现无限制...

    带有请求超时设置的soap jar包

    `setConnectionTimeout`用于设置建立连接的超时时间,`setSocketTimeout`则用于设置等待服务器响应数据的超时时间。 在实际应用中,合理设置超时时间非常重要。太短的超时可能导致因网络短暂波动而引发不必要的错误...

    httpclient

    5. **连接管理**:HttpClient的连接管理是关键,包括连接池的配置、连接保持活动的时间以及最大连接数等。这些参数的合理设置能提高性能和响应速度。 6. **身份验证与安全**:HttpClient支持基本认证、NTLM、...

    使用httpClient访问https+443端口号。

    在实际开发中,还可能需要根据项目需求进行其他定制,例如添加重试机制、连接池管理、超时设置等。对于大型项目,推荐使用更现代的库,如Apache HttpComponents HttpClient 4.x系列,因为它们提供了更好的性能和更多...

    HTTPClient

    - `connectionRequestTimeout`: 从连接池中请求连接的超时时间。 **2.6 使用HttpClient** 如上所示,通过设置这些超时属性,可以有效地控制请求的时间限制,提高程序的健壮性。 **2.7 硬超时** 除了上述配置外,...

    commons-httpclient-3.1jar包

    1. 创建HttpClient实例:可以通过HttpParams配置参数,如超时时间、编码等。 2. 创建HttpMethod:根据需求选择合适的HttpMethod子类,设置请求URL、请求头和请求体。 3. 执行请求:调用HttpClient的execute方法,...

    httpclient-4.5jar包

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

    HttpClient重新封装的HttpClient类

    4. **超时控制**:为每个请求设置合理的超时时间,避免请求无响应导致程序阻塞。 5. **错误处理**:封装错误处理逻辑,统一处理各种异常情况,提供更友好的错误信息。 6. **请求和响应的预处理/后处理**:添加...

    httpclient4.5.5所有包

    - 对于高并发场景,应适当调整连接池参数,如最大连接数、超时时间等。 HttpClient 4.5.5 作为一个成熟的 HTTP 客户端库,不仅提供了丰富的功能,还具有良好的可扩展性和灵活性。开发者可以根据具体需求对其进行...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    可以使用`HttpClientBuilder`来定制各种设置,如超时时间、重试策略、连接池等。 3. **执行请求**:调用`HttpClient`的`execute`方法,传入`HttpPost`对象,得到`HttpResponse`。这将返回服务器的响应,包括状态码...

    C#HTTPclient 实例应用

    同时,可以通过设置`Timeout`属性来控制请求的超时时间。 ```csharp httpClient.Timeout = TimeSpan.FromSeconds(30); // 设置超时时间为30秒 ``` ### 7. 使用DelegatingHandler处理中间件逻辑 `HttpClient`允许...

    Httpclient依赖包

    4. **性能优化**:合理配置连接池大小、超时时间、重试策略等参数,可以显著提升HttpClient的性能。 5. **线程安全**:HttpClient实例不是线程安全的,如果在多线程环境中使用,需要为每个线程创建独立的HttpClient...

    httpClient帮助文档

    HttpRoutePlanner用于规划请求的路由,HttpClientBuilder可以配置连接池的大小和超时时间。 - **连接策略**:HttpClient允许设置连接策略,如重试机制、超时控制和重定向处理。 3. **请求头和响应头** - **添加...

    httpClient 网络传输的实例

    - **连接管理**:HttpClient支持连接池管理,可以设置最大连接数、超时时间等参数,以优化性能和资源利用。 - **重试策略**:可以配置重试策略,如在网络不稳定时自动重试请求。 - **认证与安全**:HttpClient支持...

    Arduino HttpClient 库文件

    此外,HTTP 请求可能受网络条件、服务器响应时间和 Arduino 的处理能力等因素影响,需要适当处理超时和错误情况。 在实际项目中,HttpClient 库常用于 IoT(物联网)场景,如远程控制、数据采集或设备状态报告等。...

    httpClient4.3.6包和实例

    5. **请求和响应的配置**:可以通过`RequestConfig`来设置请求的超时时间、重试策略、连接池大小等参数。 6. **认证和授权**:HttpClient支持多种身份验证机制,如Basic、Digest、NTLM等,通过`CredentialsProvider...

Global site tag (gtag.js) - Google Analytics