我在 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 代码本身或 HttpClient 来做到这一点:
HttpClient whClient = scraper.getHttpClientManager().getHttpClient();
whClient.getParams().setParameter("http.connection-manager.timeout", (long)20000);
whClient.getParams().setParameter("http.socket.timeout",(int)20000);
但我得到了同样的结果!
像这样:
SO_TIMEOUT 仅在 HTTP 连接不活动时才会启动
那么我可以做些什么来设置等待响应的时间限制呢?
谢谢