将http超时设置为jakarta HttpClient

时间:2011-12-20 20:42:38

标签: java timeout httpclient webharvest

我在WebHarvest配置文件中使用以下代码来定义WebHarvest中的http元素的超时(Webharvest使用Jakarta HttpClient)。
但是当我将其设置为20000时,需要大约40-50秒才能达到超时! 当我将它设置为30000超时永远不会达到(至少在2分钟内我等待)!!
我只需要限制响应等待时间。

<var-def name="WTimeOut">20000</var-def>
<script language="javascript"> 
       var tmot=WTimeOut.toString(); 
       http.client.params.soTimeout = tmot; 
       http.client.params.connectionManagerTimeout = tmot;
       http.client.httpConnectionManager.params.connectionTimeout = tmot; 
</script> 

我还尝试通过此代码通过Java代码本身o HttpClient来实现:

HttpClient whClient = scraper.getHttpClientManager().getHttpClient();
whClient.getParams().setParameter("http.connection-manager.timeout", (long)20000);
whClient.getParams().setParameter("http.socket.timeout",(int)20000);

但我得到了同样的结果!
正如this

  

只有当HTTP处于非活动状态时,SO_TIMEOUT才会启动   连接

那么我该如何设置等待响应的时间限制?

由于

0 个答案:

没有答案