gpt4 book ai didi

java - 验证 HttpClient 正在重试请求

转载 作者:行者123 更新时间:2023-12-03 20:23:16 27 4
gpt4 key购买 nike

我昨晚刚刚了解了 DefaultHttpRequestRetryHandler,我正在尝试使用它并验证我是否已正确设置它并且它确实会重试请求。我如何验证(通过查看日志消息或设置(单元)测试或进行特定调用?

作为记录,这是我的代码:

import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;

DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(3, true));

我已经尝试将 URL 更改为不存在的端点、更改端口、更改资源位置,但我似乎无法超时,也看不到尝试重试的代码请求。

主要是,我正在对 REST 端点进行 HTTP 调用,我想在超时的情况下重试。但是,如果我获得了一些我不知道应该做的额外功能和处理,我也很乐意免费获得其他好处。

最佳答案

请查看docs为了那个原因。并非所有异常都会重试。默认情况下:InterruptedIOExceptionUnknownHostExceptionConnectExceptionSSLException

您在错误的主机/端口上的尝试可能会导致未知主机,因此不会重试。您需要超时才能发生。使用像 Charles 或 Fiddler 这样的代理。或者使用其他重载构造函数并提供您自己的空异常列表。

关于java - 验证 HttpClient 正在重试请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32276584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com