httpClient 设置超时时间
时间: 2023-09-27 11:12:10 浏览: 182
dotnet 6 使用 HttpClient 的超时机制.rar
在 HttpClient 中设置超时时间可以通过设置连接超时和读取超时来实现。
连接超时是指在连接一个 URL 时等待的时间,如果在设置的时间内无法建立连接,则会抛出 ConnectTimeoutException 异常。
读取超时是指在数据读取过程中等待的时间,如果在设置的时间内无法读取数据,则会抛出 SocketTimeoutException 异常。
以下是在 HttpClient 中设置连接超时和读取超时的示例代码:
```java
// 创建 HttpClient 对象
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 创建 HttpGet 请求对象
HttpGet httpGet = new HttpGet("http://www.example.com");
// 设置连接超时时间为 5 秒
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(5000)
.build();
httpGet.setConfig(requestConfig);
// 设置读取超时时间为 10 秒
SocketConfig socketConfig = SocketConfig.custom()
.setSoTimeout(10000)
.build();
httpClient.setDefaultSocketConfig(socketConfig);
// 执行请求并获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
```
在上面的示例代码中,我们首先创建了一个 HttpClient 对象,并创建了一个 HttpGet 请求对象。然后,我们使用 RequestConfig 和 SocketConfig 对象来设置连接超时和读取超时的时间,分别为 5 秒和 10 秒。最后,我们执行了请求并获取了响应。
阅读全文