我想设置请求的超时时间。这是我目前的代码。
final HttpClient httpclient = HttpClients.createDefault();
final HttpPost httppost = new HttpPost(address);
httppost.setHeader("Accept", "text/xml");
httppost.setHeader("Content-type", "application/xml; charset=UTF-8");
httppost.setEntity(new StringEntity(body));
final HttpResponse response = httpclient.execute(httppost);
final HttpEntity entity = response.getEntity();
我已经尝试过(不起作用,一直在加载并忽略超时)。
// set the connection timeout value to 30 seconds (30000 milliseconds)
final HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 30000);
client = new DefaultHttpClient(httpParams);
而且(这个会抛出java.lang.UnsupportedOperationException
)
httpclient = HttpClients.createDefault();
httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 6000);
有没有其他设置超时的方法?我不需要真正的响应,因此类似于异步请求之类的东西也可以。
final HttpClient httpclient; = HttpClients.createDefault();
你多了一个分号。 - SpringLearnerCoreConnectionPNames.TIMEOUT
吗? - christopher.TIMEOUT.
不存在。 - NiklasConnManagerPNames.TIMEOUT
。 - christopherjava.lang.UnsupportedOperationException
。 - Niklas