java http请求接收到服务端返回的数据之后主动断开连接
时间: 2024-09-27 18:13:55 浏览: 6
在Java中,HTTP请求通常由`HttpURLConnection`或更现代的`HttpClient`库来处理。当你完成数据接收并且不再需要保持连接时,可以主动关闭响应流并断开连接。以下是一个使用`HttpURLConnection`的例子:
```java
URL url = new URL("http://example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET"); // 设置请求方法
try {
int responseCode = connection.getResponseCode(); // 获取状态码
if (responseCode >= 200 && responseCode < 300) { // 请求成功
InputStream inputStream = connection.getInputStream(); // 获取输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder content = new StringBuilder();
while ((line = reader.readLine()) != null) {
content.append(line);
}
reader.close();
// 数据处理...
// 关闭输入流和连接
inputStream.close();
connection.disconnect();
} else {
// 处理错误...
}
} catch (IOException e) {
e.printStackTrace();
}
```
在这个例子中,在读取完数据并完成相应的操作后,我们调用`disconnet()`方法来关闭连接。如果是在使用`HttpClient`的情况下,可以在获取到`HttpResponse`后通过`CloseableHttpResponse`接口关闭连接:
```java
CloseableHttpResponse response = httpClient.execute(request);
try {
HttpEntity entity = response.getEntity();
EntityUtils.consume(entity); // 使用完成后自动关闭
// 数据处理...
} finally {
response.close();
}
```