[Résolu] Requête Https en java
Au final c'est bon, je poste la solution si ça peut aider un jour quelqu'un !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
String resultat ="";
String adr = "https://monurlsecurisee.com"
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public boolean checkClientTrusted(java.security.cert.X509Certificate[] chain){
return true;
}
public boolean isServerTrusted(java.security.cert.X509Certificate[] chain){
return true;
}
public boolean isClientTrusted(java.security.cert.X509Certificate[] chain){
return true;
}
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {}
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {}
}
};
// creation et initialisation du context SSL permettant d'accepter tous les certificat via le trustManager
try
{
SSLContext sc = SSLContext.getInstance("SSL" );
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
catch(Exception ex)
{
ex.printStackTrace();
}
//création de la connection
URL url = new URL(adr);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
// lecture de la réponse
String ligne = null;
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((ligne=reader.readLine()) != null) {
Resultat= Resultat + ligne;
}
System.out.println(sJson) |