Also, ich habe ein wenig Code, der wie folgt aussieht:SSLHandshakeException wenn Antwort ist 204 (kein Inhalt)
try {
URL url = new URL(url_raw);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
/*snip*/
connection.connect();
int response_code = connection.getResponseCode(); <-- Error here
/*snip*/
- Wenn die URL zurückgibt 204 ohne Inhalt, erhalte ich eine ausgelöste Ausnahme.
- Wenn die URL 204 zurückgibt, aber Inhalt hat, bekomme ich eine Ausnahme geworfen.
- Wenn die URL nicht-204-Code mit Inhalt zurückgibt, bin ich in Ordnung. (Sagen wir 200 mit einer "Erfolg" Nachricht).
Das Fehlerprotokoll ist hier:
W/System.err﹕ javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x5f5d07c0: Failure in SSL library, usually a protocol error
W/System.err﹕ error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:744 0x5d908d74:0x00000000)
W/System.err﹕ at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:449)
W/System.err﹕ at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
W/System.err﹕ at com.android.okhttp.Connection.connect(Connection.java:107)
W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
W/System.err﹕ at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:136)
ich, um das Problem, indem er nie zurückkehren 204 arbeiten könnte, aber es scheint nur, wie zu viel von einem Hack =/
Wenn Sie einen URL-Rückgabecode von irgendetwas erhalten haben, muss der Handshake erfolgreich gewesen sein. Wenn Sie eine Handshake-Ausnahme haben, können Sie möglicherweise auch keinen URL-Returncode erhalten. Bitte klären Sie. – EJP