如果请求超时,HttpClient将多次执行请求

Gee*_*eek 6 java android httpclient connection-timeout

HttpClient如果超时,则执行请求4次。如果它没有超时,则说明工作正常。有关系HttpClient吗?

Gee*_*eek 7

我发现,HttpClient如果失败,则执行4次请求是默认行为。我不确定其他类型的失败,但至少可以超时。

要禁用此行为,请执行以下操作:

DefaultHttpClient client = new DefaultHttpClient();
// Disable default behavior of HttpClient of retrying requests in case of failure
((AbstractHttpClient) client).setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(0, false));
Run Code Online (Sandbox Code Playgroud)

在此,重试计数设置0 为禁用重试。

我从此博客中找到了解决方案。