java.io.IOException: SSL handshake failure: Failure in SSL library, in der Regel ein Protokoll-Fehler
Ich versuche, herunterladen einige Inhalte, die über die URL-Klasse mit einem bestimmten link, der vom server kommt.
Mein code für den download ist es:
URL url = new URL(downloadUrl);
InputStream stream = url.openStream();
byte[] content = new byte[stream.available()];
stream.read(content);
stream.close();
Aber beim laufen habe ich die folgende exception:
java.io.IOException: SSL handshake failure: Failure in SSL library, usually a protocol error
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:604 0xaf076228:0x00000000)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native Method)
...
Den link, den ich wurde mit so etwas wie:
https://contentserver.com/d/761/34/215656/5de1a41ea3bc9c81978af95ed19b03286f64d9a3
Ich weiß, wenn ich geben Sie es auf browser donwload einer Datei, ich will den download der gleichen Datei durch Java.
Dank
- Verwenden Sie ein selbst signiertes Zertifikat? Android spielt nicht gut mit denen.
- Hmm.. eigentlich weiß ich es nicht. Ich denke, ich muss reden mit den Entwicklern der server-Seite, es zu wissen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Code zum Lesen von Daten von dem https-url in java
Marcos,
dies ist möglicherweise völlig irrelevant, aber... ich war immer die gleichen Fehler...
... versuchen "hg clone" auf meine bitbucket.org mercurial repo..., ich war versucht, eine Verbindung zu bitbucket über https von der windows Befehl Linie... es stellte sich heraus, dass ich war, liefert das falsche Passwort von meinem proxy...
Während ich bin mir nicht sicher, dass Ihre SSL-Fehler, die Art, wie Sie das Lesen von Daten ist wahrscheinlich NICHT das, was Sie wollen. InputStream.verfügbar() ist nicht die Menge der Daten in den stream. Der stream ist per definition "unbounded", und es ist vorbei, wenn es vorbei ist. InputStream nicht wissen, wie viele bytes es hat. Methode() ist einfach sagt Ihnen, wie viele bytes können gelesen werden ohne zu blockieren auf IO.