Я использую приведенный ниже код в файле конфигурации WebHarvest, чтобы определить время ожидания для элемента http в WebHarvest (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-соединении.
Итак, что я могу сделать, чтобы установить ограничение по времени ожидания ответа?
Спасибо