在旧的 4.0 库中,您只需执行以下操作:
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpParams params = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, connectionTimeoutMillis);
HttpConnectionParams.setSoTimeout(httpParams, socketTimeoutMillis);
但现在 DefaultHttpClient 已被弃用,为了创建 httpclient,您必须执行以下操作:
HttpClients.createDefault();
这很好,但不允许我设置请求超时。那么,是否有一种解决方法/方法无需返回已弃用的类?
最佳答案
解决了...在新库中是这样的:
private static HttpClient createHttpClient(){
RequestConfig config = RequestConfig.custom()
.setSocketTimeout(TIMEOUT)
.setConnectTimeout(TIMEOUT)
.build();
HttpClientBuilder hcBuilder = HttpClients.custom();
hcBuilder.setDefaultRequestConfig(config);
return hcBuilder.build();
}
您可以在 RequestConfig 对象中设置它,并将其传递给 httpclientbuilder,以便构建您自己的 http 客户端实例。
关于java - 如何处理 httpclient 4.3+ 中的超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22882683/