httpclient报错 The host did not accept the connection within timeout of

发布于 2021-11-25 22:27:48 字数 1642 浏览 1011 评论 4



我遇到的这个问题是服务器现网日志中的,不是每次请求都报这个错。是否跟并发有关?

错误堆栈我贴在了下面。

我自己在本地模拟了一些异常情况:

因为是用的httpclient 3.1 ,我在本地自己写了测试类。

网上我查了下,说是设置的setConnectionTimeout()方法,指定连接超时时间。我不知道这个错误怎么出现了的。

我模拟了请求一个不存在的url,他报错是java.net.UnknownHostException: www.gofufu.com

我又模拟了一个存在但不能访问的url,就报我遇到的这个错。比如我访问www.facebook.com

我再模拟一个请求,这个请求在服务端睡眠1分钟,设置setSoTimeout(3000),报Read time out.

谁能解酒我

org.apache.commons.httpclient.ConnectTimeoutException: The host did not accept the connection within timeout of 15000 ms
        at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:155)
        at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:125)
        at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
       
 



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

睫毛上残留的泪 2021-11-28 13:46:00

网断了

北笙凉宸 2021-11-28 13:45:41

换成一个不存在的IP确实重现了,感谢! 不过,我们的请求地址是双机,没有宕机的记录。这个请求为什么失败呢?

静谧 2021-11-28 13:45:15

回复
客户端出现这个问题,可能是你的负载均衡不那么可靠。。。。

一个人的旅程 2021-11-26 08:46:32

你用IP试试,不用域名。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文