Https acessar conteudo de site

estou usando esse codigo que adptei para acessar sites https consigo logar no sistema
mas estou tendo dificuldade em acessar o resto do conteudo do site

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public class SSLConecao {
	
	public static void doSubmit(String url, HashMap<String, String> data) throws Exception {
		//
		//String redirect1 = "command";
		//String redirect2 = "AlunoHistorico";
		//String redirect = URLEncoder.encode(redirect1, "ISO-8859-1");
		//redirect=redirect+"=";
		//redirect = redirect+URLEncoder.encode(redirect2, "ISO-8859-1");
		//
		final HostnameVerifier hv = new HostnameVerifier() {  
	        @Override
	    	public boolean verify(String urlHostName, SSLSession session) {  
	          return true;  
	        }  
	      }; 	
	      TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {  
	    	  public java.security.cert.X509Certificate[] getAcceptedIssuers() {  
	    		  return null;  
	    	  }  
	  
	    	  public void checkClientTrusted(  
	    			  java.security.cert.X509Certificate[] certs, String authType) {}  
	  
	    	  public void checkServerTrusted(  
	    			  java.security.cert.X509Certificate[] certs, String authType) {}  
	    }}; 
	      SSLContext sc;    
	      sc = SSLContext.getInstance ("SSL");
	      sc.init(null, trustAllCerts, new java.security.SecureRandom());  
	      HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
	      HttpsURLConnection.setDefaultHostnameVerifier(hv);
	//	
		URL siteUrl = new URL(url);
		HttpsURLConnection conn = (HttpsURLConnection) siteUrl.openConnection();
		conn.setRequestMethod("POST");
		conn.setDoOutput(true);
		conn.setDoInput(true);
		
		DataOutputStream out = new DataOutputStream(conn.getOutputStream());
		
		Set<String> keys = data.keySet();
		Iterator<String> keyIter = keys.iterator();
		String content = "";
		for(int i=0; keyIter.hasNext(); i++) {
			Object key = keyIter.next();
			if(i!=0) {
				content += "&";
			}
			content += key + "=" + URLEncoder.encode(data.get(key), "ISO-8859-1");
		}
		System.out.println(content);
		out.writeBytes(content);
		out.flush();
		
		
		//redirect+=conn.getURL();
		BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		String line = "";
		System.out.println(conn.getHeaderFields());
		while((line=in.readLine())!=null) {
			System.out.println(line);
		}
		
		
		//BufferedReader in2 = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		
		out.close();
		in.close();
		//in2.close();
	}
	
}

como faço para conn ir pra outros links do site? envio mais comandos post
por exemplo se eu quiser ir a um link dado em href que comando seria usado?

cara, acho que caberia uma função recursiva, onde quando vc encontrar um link, vc chama a funcao novamente.

Tentei isso mas quando pego a url que quero ir diz que nao estou conectado

realmente, é porque vc deve gerar um novo Session para cada link. se vc conseguir de outra forma posta ae, q acho q vou precisar isso daqui uns meses.

Tentei achar algum navegador pronto em java para ver como funciona, não achei nenhum com as características que quero.
Mas vou continuar tentando. na api nao há nada que me mostre, entao vou estudar mais http para ver como a coisa funciona.

Deve ser problema de sessão.

Na primeira conexão, guarda os cookies e manda eles de volta a cada chamada.

Falou.

Como mando os cookies?