我试图找出Apache HttpClient的超时。 doc文件*表示http连接的默认超时是"系统默认值"超时。但是什么是"系统默认"?我如何才能找出"系统默认值"的价值?超时设置为?
*"超时值为零被解释为无限超时。负值被解释为未定义(系统默认值)。
答案 0 :(得分:0)
根据documentation
,http.socket.timeout
参数控制SO_TIMEOUT
值
AND
您可以通过HttpClient的setParameter()方法设置默认超时,
HttpClient httpclient = new HttpClient();
httpclient.getParams().setParameter("http.protocol.version",HttpVersion.HTTP_1_1);
httpclient.getParams().setParameter("http.socket.timeout", new Integer(1000));
httpclient.getParams().setParameter("http.protocol.content-charset", "UTF-8");
答案 1 :(得分:0)
此特定情况下的系统默认值表示Java运行时设置的任何套接字超时值。如果套接字超时配置参数未定义,则HttpClient不会尝试控制连接套接字上的SO_TIMEOUT设置。