一个爬虫需求,分地市下载文件,卡死在HttpClient.execute,百思不得其解,后来查阅资料解决,特此记录
//创建client前配置config
int socketTimeout = 6*60*1000;//读取数据超时
int connectTimeout = 30*60*1000;//链接超时
SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(5000).build();
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(connectTimeout).setSocketTimeout(socketTimeout)
.setConnectionRequestTimeout(connectTimeout).build();
client = HttpClients.custom().setDefaultSocketConfig(socketConfig)
.setDefaultRequestConfig(requestConfig).build();
//在前一个client.execute(post)之后添加如下语句
response.getEntity().getContent().close();
以上。