由apache httpclient多次执行

时间:2015-07-27 17:14:16

标签: java http apache-httpclient-4.x apache-httpcomponents

所以这就是问题,我需要访问一个非常繁忙的网站,我只能通过一个请求访问它。

所以我想要的是使用Apache HttpClient或其他优秀的java库对同一个网址进行多次请求,并等待网站成功响应。一旦请求获得成功响应,线程中的所有其他请求都需要立即终止。

我该怎么办?如果还有其他好的图书馆可以完成任务,请告诉我。

1 个答案:

答案 0 :(得分:1)

我的建议是使用单线程并在发生某些错误时重试。这样你就不会淹没繁忙的网站。这不会慢很多,因为如果服务器很忙,发出更多请求就不会给你带来任何好处。 如果您决定使用多个线程(使用2),则所有线程都需要共享同一个HTTP客户端:

CloseableHttpClient httpclient = createDefault();

当您收到成功回复时,您必须致电

 httpclient.close();

并停止所有线程。 close()将终止所有连接(活动和非活动)。