此错误通常由服务器中断连接引起。解决方法是设置连接保持活动状态,通过如下代码:
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
// 设置保持活动状态
httpPost.setHeader("Connection", "keep-alive");
CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
如果服务器支持 HTTP1.1 协议,也可以增加如下代码:
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
// 设置保持活动状态和最大空闲时间
httpPost.setHeader("Connection", "keep-alive");
httpPost.setHeader("Keep-Alive", "timeout=5, max=20");
CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
其中,timeout 表示最大空闲时间,max 表示最大请求数。