Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpsURLConnection.getInputStream()是否自动重试?_Java_Timeout_Httpsurlconnection - Fatal编程技术网

Java HttpsURLConnection.getInputStream()是否自动重试?

Java HttpsURLConnection.getInputStream()是否自动重试?,java,timeout,httpsurlconnection,Java,Timeout,Httpsurlconnection,我使用HttpsURLConnection向服务器发出服务请求,如下代码所示: URL url = new URL("service/url"); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.setConnectionTimeout(300000); connection.setReadTimeout(300000); parse (connection.getInpu

我使用HttpsURLConnection向服务器发出服务请求,如下代码所示:

URL url = new URL("service/url");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setConnectionTimeout(300000);
connection.setReadTimeout(300000);
parse (connection.getInputStream());
服务有时可能需要更长的时间,所以理想情况下,我应该期望出现超时异常,但客户端正在重试并再次发送相同的请求。有没有办法显式禁用任何类型的重试?我甚至不确定设置超时方法是否有任何不同

我正在使用Java1.6

更新
我尝试了connect()和getResponseCode()而不是getInputStream(),但行为相同:

URL url = new URL("service/url");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setConnectionTimeout(300000);
connection.setReadTimeout(300000);
connection.connect();
connection.getResponseCode();
即使这样,也有两个请求

更新

修正了这个问题。在HttpClient中,您可以显式地将重试设置为false

您不应该调用
openConnection()
connect()
,只需调用
openConnection()

您如何推断它正在重试?服务器日志中出现了完全相同的请求。由于重复请求,请求失败。请使用类似的工具检查这是否是客户端问题。