最近做抓取程序, 采用了httpclient4.1, 遇到了需要请求连接超时后,需要重试几次,在网上看了看,讨论httpclient重试机制都是在httpclient3.1里面讨论, 想问问httpclient4.1里面有没有这样的重试机制?

解决方案 »

  1.   

    HttpClient 4 的 Tutorial 上有:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d4e292仿照 org.apache.http.impl.client.DefaultHttpRequestRetryHandler 类,重写一个或者使用 DefaultHttpRequestRetryHandler 有参数的构造实例化一个,再用 httpclient.setHttpRequestRetryHandler 方法设置进去就可以了。
      

  2.   

    HttpComponents 的 API 文档也真是的,跟没写一样,哎:org.apache.http.impl.client.DefaultHttpRequestRetryHandler
    http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/DefaultHttpRequestRetryHandler.html