How to make the HTTP connection timeout/disconnected after a time interval?(如何在一段时间后使 HTTP 连接超时/断开连接?)
问题描述
我是 Apache HttpClient
的新手,我使用以下代码在一定时间间隔后获取 HTTP 连接超时(断开连接):
I am new in Apache HttpClient
, I used the following code to get the HTTP connection timeout (disconnected) after certain time interval:
PostMethod method = new PostMethod(authURL);
HttpClient client = new HttpClient();
HttpClientParams params= new HttpClientParams();
params.setParameter(params.CONNECTION_MANAGER_TIMEOUT, 10); //10 Nano second
client.executeMethod(method);
但它等待超过一分钟而没有任何希望超时/断开连接?问题可能出在哪里?
but it wait for more than one minute without any hope to timeout/disconnect? Where can the problem be?
推荐答案
HTTPClient有2个超时,两个都试试,
There are 2 timeouts involved in HTTPClient, try to set both,
client.getHttpConnectionManager().
getParams().setConnectionTimeout(5000);
client.getHttpConnectionManager().
getParams().setSoTimeout(5000);
但是,如果连接卡在本机套接字调用中,则这些值将被忽略.因此,您可能必须在不同的线程中运行请求,以便将其超时.请参阅我对这个问题的回答,了解如何做到这一点,
However, the values will be ignored if the connection is stuck in a native socket call. So you might have to run the request in a different thread so you can time it out. See my answer to this question on how to do that,
java原生进程超时
这篇关于如何在一段时间后使 HTTP 连接超时/断开连接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在一段时间后使 HTTP 连接超时/断开连接?
基础教程推荐
- 在螺旋中写一个字符串 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01