import java.net.*;
import java.io.*;

public class URLhttps {
 public static void main(String[] args) throws Exception {

	// FASE 1: registrazione provider JSSE
	java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
	// in alternativa si pu registrarlo staticamente, aggiungendo la riga:
	//		security.provider.2=com.sun.net.ssl.internal.ssl.Provider
	// al file java.security che si trova in ....\lib\security
	// --> NB: IL COMPILATORE javac usa quello in C:\jdk1.2.1\jre\lib\security
	// 				 L'INTERPRETE java usa quello in C:\Programmi\JavaSoft\JRE\1.2\lib\security


	// FASE 2: registrazione dell'handler usato da HTTPS per l'autenticazione
	// Per usare l'handler della Sun:
  System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
	// in alternativa si pu specificarlo come opzione dalla linea di comando:
	// 		java -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol URLhttps


	// FASE 3: connessione tramite un normalissimo URL con https

	URL url = new URL(args[0]); // URL del tipo:   https://www.sun.com

	BufferedReader in = new BufferedReader(
				new InputStreamReader(url.openStream()));

	String inputLine;

	while ((inputLine = in.readLine()) != null)
	    System.out.println(inputLine);

	in.close();
    }
}
