Connexion HTTPS : java.net.SocketTimeoutException: connect timed out
Bonjour à tous,
Je tente de me connecter à un serveur via HTTPS avec le bout de code suivant réalisé à partir de plusieurs sources trouvées sur le net :oops: :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| System.setProperty( "java.protocol.handler.pkgs" , "javax.net.ssl" );
java.security.Security.addProvider( new com.sun.net.ssl.internal.ssl.Provider() );
TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager(){
public java.security.cert.X509Certificate[] getAcceptedIssuers(){
return null;
}
public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType ) { }
public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType ) { }
}
};
SSLContext sc = SSLContext.getInstance( "SSL" );
sc.init( null, trustAllCerts, new java.security.SecureRandom() );
HttpsURLConnection.setDefaultSSLSocketFactory( sc.getSocketFactory() );
HttpsURLConnection conn = (HttpsURLConnection) new URL(uri).openConnection();
conn.connect();
System.out.println(conn.getResponseCode() == HttpsURLConnection.HTTP_OK); |
Résultat de l'exécution :
java.net.SocketTimeoutException: connect timed out
D'après mes recherches sur le net, cela signifie que la connexion s'effectue (à l'inverse de connection refused), mais que le serveur ignore les paquets envoyés.
Y'a-t-il un moyen d'identifier la cause de cette ignorance du serveur ?
J'ai vu que plusieurs problèmes pouvait être à l'origine :
- Utilisation d'un proxy (dans mon cas je n'en utilise pas et je ne sais pas si j'en ai besoin ...)
- Mauvaise authentification ?
Merci par avance à ceux qui me répondront ;)