Exemple Java HttpsURLConnection
Voici un client Java HTTPS simple pour démontrer l'utilisation de la classeHttpsURLConnection
pour envoyer une requête HTTP GET pour obtenir le contenu de l'URL https et les détails du certificat.
_P.S You may interest at this example – automate login a website with HttpsURLConnection.
_
HttpsClient.java
package com.example.client; import java.net.MalformedURLException; import java.net.URL; import java.security.cert.Certificate; import java.io.*; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLPeerUnverifiedException; public class HttpsClient{ public static void main(String[] args) { new HttpsClient().testIt(); } private void testIt(){ String https_url = "https://www.google.com/"; URL url; try { url = new URL(https_url); HttpsURLConnection con = (HttpsURLConnection)url.openConnection(); //dumpl all cert info print_https_cert(con); //dump all the content print_content(con); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private void print_https_cert(HttpsURLConnection con){ if(con!=null){ try { System.out.println("Response Code : " + con.getResponseCode()); System.out.println("Cipher Suite : " + con.getCipherSuite()); System.out.println("\n"); Certificate[] certs = con.getServerCertificates(); for(Certificate cert : certs){ System.out.println("Cert Type : " + cert.getType()); System.out.println("Cert Hash Code : " + cert.hashCode()); System.out.println("Cert Public Key Algorithm : " + cert.getPublicKey().getAlgorithm()); System.out.println("Cert Public Key Format : " + cert.getPublicKey().getFormat()); System.out.println("\n"); } } catch (SSLPeerUnverifiedException e) { e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } } } private void print_content(HttpsURLConnection con){ if(con!=null){ try { System.out.println("****** Content of the URL ********"); BufferedReader br = new BufferedReader( new InputStreamReader(con.getInputStream())); String input; while ((input = br.readLine()) != null){ System.out.println(input); } br.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Production…
Response Code : 200 Cipher Suite : SSL_RSA_WITH_RC4_128_SHA Cert Type : X.509 Cert Hash Code : 7810131 Cert Public Key Algorithm : RSA Cert Public Key Format : X.509 Cert Type : X.509 Cert Hash Code : 6042770 Cert Public Key Algorithm : RSA Cert Public Key Format : X.509 ****** Content of the URL ********
Note
Pour plus de détails sur l'utilisation, veuillez vous référer à cet exemple -Send HTTP Request GET/POST In Java