"File Transfer via Secured Connection" provides a sample code framework that implements secure communication between a Java client and an HTTPS (Hyper Text Transfer Protocol Secure) server. Almost any Web server available today provides a mechanism for requesting data, using HTTPS. From the client perspective, the simplicity of the S at the end of the familiar HTTP is deceiving. The browser is actually doing a considerable amount of behind-the-scenes work to ensure that no one has tampered with or monitored the information that you requested.
import java.io.*; import java.net.*; import java.security.*; import java.security.Security; import com.sun.net.ssl.internal.ssl.Provider; //This package needs to be imported to enable SSL communication public class SSL_URL_Connect { public SSL_URL_Connect() { } public static void main(String args[]) { java.security.Security.addProvider(new sun.security.provider.Sun()); java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); try { java.util.Properties properties = System.getProperties(); System.setProperty("proxySet", "true"); System.setProperty("https.proxyHost", "<qualified name of the Web Server Host>"); // -- Web Server host Parameter to be substituted System.setProperty("https.proxyPort", "<SSL port>"); // -- SSL port Parameter to be substituted URL url = new URL("https://<Secured Web URL>"); class TestAuthenticator extends Authenticator { private String username="<Authenticating username>"; // -- Username Parameter to be substituted private String password="<Authenticating password>"; // -- Password Parameter to be substituted public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username,password.toCharArray()); } } Authenticator.setDefault(new TestAuthenticator()); System.out.println("Authenticator set .... "); URLConnection urlconnection = url.openConnection(); System.out.println("Connected to the site"); BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(urlconnection.getInputStream())); String strline = ""; String download_file="<File to be downloaded>"; // -- Dwonloaded FileName Parameter to be substituted File file = new File(download_file); if(file.exists() && file.delete()) { System.out.println("Existing File is deleted"); } FileWriter filewriter = new FileWriter(download_file); while((strline = bufferedreader.readLine()) != null) { filewriter.write(strline + "rn"); } filewriter.close(); } catch(Exception exception) { System.out.println("e " + exception); } } }