Java SSLHandshake使用httpurlconnection非常慢

Java SSLHandshake使用httpurlconnection非常慢,java,http,ssl,https,Java,Http,Ssl,Https,我使用HttpUrlConnection发送HTTP请求。 我发送请求并获取响应代码。然后我得到响应的inputstream并使用它 我的代码是这样的: Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port)); URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(proxy); c

我使用HttpUrlConnection发送HTTP请求。 我发送请求并获取响应代码。然后我得到响应的inputstream并使用它

我的代码是这样的:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection(proxy);
con.setConnectTimeout(10000);
con.setReadTimeout(15000);

int responseCode = con.getResponseCode();

InputStream is =    con.getInputStream();

...
代码运行得很好,但我有个问题。有时,它会在发送HTTP请求前等待3-4分钟,然后在长时间等待后继续成功工作。因此,唯一的问题是为什么它有时要等待3或4分钟才能成功发送http请求

我调试我的代码,我想我找到了它等待的地方。下面是SSL调试结果

调试结果:

随机触发种子

随机完成

它在这里等待3或4分钟,然后继续:

允许不安全的重新协商:false

允许旧版hello消息:true

第一次握手是否正确

是否安全重新谈判:错误

%%没有缓存的客户端会话

***ClientHello,TLSv1

……(并继续)


请注意,这种情况只是偶尔发生,并非总是发生。我对此非常困惑。有什么想法吗?

我们只能猜测,但我的猜测是
SecureRandom
文档中的一个小注释:
根据实现情况,generateSeed和nextBytes方法可能会在收集熵时阻塞,例如,如果他们需要在各种类似Unix的操作系统上读取/dev/random。
这一原因与它只是偶尔发生的情况是一致的。你能告诉我更多关于它的细节吗。我能为解决方案做些什么。是的,它只是偶尔发生。当你早些时候问这些问题时,已经有了一些提示,比如可能的垃圾收集。如果你不喜欢这些评论或答案,那么多次准确地问这个问题并删除前面的问题没有多大意义。问题可能只是你的问题。直到现在还没有人能解决问题。这里是stackoverflow,我希望有人能在这里帮助我。因为我问了同样的问题。