POST to a HTTPS secure website from a JAVA Program

This Java sample program shows how to POST to a HTTPS secure website from a Java porgram.

Secure SSL websites have always been a challenge for Java programmers. This free Java sample program illustrates how a Java program connects to an HTTPS url and POSTs data to it. In this sample, the URL is a login page which requires the email id and password to authenticate. After authenticating, the program just retrieves the reply from the server.

 * A free Java sample program 
 * to POST to a HTTPS secure SSL website
 * @author William Alexander
 * free for use as long as this comment is included 
 * in the program as it is
 * More Free Java programs available for download 
 * at
import com.sun.*; 
public class sslpost {
       public static void main(String[] args){
		String cuki=new String();
try { 
System.setProperty("java.protocol.handler.pkgs", "");; 
URL url = new URL(""); 
 HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
String cookieHeader = connection.getHeaderField("set-cookie"); 
if(cookieHeader != null) { 
int index = cookieHeader.indexOf(";"); 
if(index >= 0) 
cuki = cookieHeader.substring(0, index); 
connection.setRequestProperty("Cookie", cuki); 

String query = "UserID=" + URLEncoder.encode("[email protected]"); 
query += "&"; 
query += "password=" + URLEncoder.encode("password"); 
query += "&"; 
query += "UserChk=" + URLEncoder.encode("Bidder");
// This particular website I was working with, required that the referrel URL should be from this URL
// as specified the previousURL. If you do not have such requirement you may omit it.
query += "&"; 
query += "PreviousURL=" + URLEncoder.encode(""); 

//connection.setRequestProperty("Accept", "application/cfm, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, //*/*"); 

connection.setRequestProperty("Content-length",String.valueOf (query.length())); 
connection.setRequestProperty("Content-Type","application/x-www- form-urlencoded"); 
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"); 

// open up the output stream of the connection 
DataOutputStream output = new DataOutputStream( connection.getOutputStream() ); 

// write out the data 
int queryLength = query.length(); 
output.writeBytes( query ); 

System.out.println("Resp Code:"+connection.getResponseCode()); 
System.out.println("Resp Message:"+ connection.getResponseMessage()); 

// get ready to read the response from the cgi script 
DataInputStream input = new DataInputStream( connection.getInputStream() ); 

// read in each character until end-of-stream is detected 
for( int c =; c != -1; c = ) 
	System.out.print( (char)c ); 
catch(Exception e) 
System.out.println( "Something bad just happened." ); 
System.out.println( e ); 

More Free Java Sample Code