Remote host closed connection during handshake和SSL peer shut down incorrectly報錯的解決方法
阿新 • • 發佈:2019-01-03
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:882) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133) ... 35 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:462) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863) ... 41 more
今天使用新浪微博API獲取公共資料。當資料記錄到達約137萬條的時候,程式報如上錯誤!
最後在stackoverflow找到了答案:大部分是因為jdk版本的原因。換成jdk 1.7就好了,程式至今還沒報上述錯誤!
服務端執行的是tomcat 7,執行在 Java 7, Linux, and Amazon EC2等類似環境中。同樣客戶端要求執行在同等版本java環境下。文中進一步提出了一個深奧的問題:是否在java 6中有同樣的加密或協議設定,使得程式在java 6環境下能夠正常執行。
像java出現了問題,並報錯,用外文搜尋引擎比較容易找到答案!
注:問題又重現了,跟網速也有關係 2014-01-05
解決方案的原文地址:http://stackoverflow.com/questions/15589880/how-to-make-java-6-which-fails-ssl-connection-with-ssl-peer-shut-down-incorrec點選開啟連結