Sta funzionando benissimo su HTTP, ma quando provo e utilizzare una fonte di HTTPS si getta la seguente eccezione:Come connettersi tramite HTTPS usando Jsoup?
10-12 13:22:11.169: WARN/System.err(332): javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:477)
10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:328)
10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.setupSecureSocket(HttpConnection.java:185)
10-12 13:22:11.179: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:433)
10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeConnection(HttpsURLConnectionImpl.java:378)
10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
10-12 13:22:11.189: WARN/System.err(332): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:152)
10-12 13:22:11.189: WARN/System.err(332): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:377)
10-12 13:22:11.189: WARN/System.err(332): at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:364)
10-12 13:22:11.189: WARN/System.err(332): at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:143)
Ecco il codice rilevante:
try {
doc = Jsoup.connect("https url here").get();
} catch (IOException e) {
Log.e("sys","coudnt get the html");
e.printStackTrace();
}
appena trovato questa domanda ...... Ho lo stesso problema, ma cosa devo fare con il file crt se io sto usando eclissi? qual è l'alternativa di keytool per eclipse? – gedo
Apparentemente firefox consente l'utilizzo di un certificato a livello di dominio per visitare anche i sottodomini. Tuttavia, JSoup non lo consentirà. Qualche suggerimento per risolvere questo problema? – bvdb
Grazie per il suggerimento! Ancora un problema nel caricare il file .jdk. Sembra che non sia incluso o accessibile da una directory esterna/crt. File f = new File (Environment.getRootDirectory() + "/crt/www.loterie.lu.jks"); \t \t if (f.isFile()) \t \t \t Log.i ("JSOUP", "File di certificato trovato"); \t \t altro \t \t \t Log.i ("JSOUP", "ERRORE: file del certificato non trovato" + f.getAbsolutePath()); – Dax