laz*_*lev 5 java timeout apache-httpclient-4.x
如何找出 HttpClient 4.3 的实际超时值?我知道如何显式设置它们,但如果我不覆盖它们,我想知道隐式使用哪些值。
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.params.HttpParams;
public class HttpClientDefaults
{
public static void main(String[] args)
{
RequestConfig config = RequestConfig.custom().build();
System.out.println("ConnectionRequestTimeout: " + config.getConnectionRequestTimeout());
System.out.println("ConnectTimeout: " + config.getConnectTimeout());
System.out.println("SocketTimeout: " + config.getSocketTimeout());
CloseableHttpClient client = HttpClientBuilder.create().setRetryHandler(new DefaultHttpRequestRetryHandler()).build();
HttpParams params = client.getParams();
System.out.println(params.getParameter("http.socket.timeout"));
}
}
Run Code Online (Sandbox Code Playgroud)
ConnectionRequestTimeout: -1
ConnectTimeout: -1
SocketTimeout: -1
Exception in thread "main" java.lang.UnsupportedOperationException
Run Code Online (Sandbox Code Playgroud)
client.getParams() 抛出 java.lang.UnsupportedOperationException 异常。有人知道读出将要使用的实际值的方法吗?
套接字、连接和连接请求超时的默认值为 0(无超时)