O seguinte funciona com Java 7/8, URLs seguros e mostra como adicionar um cookie à sua solicitação também. Observe que essa é principalmente uma cópia direta dessa outra ótima resposta nesta página , mas adicionou o exemplo de cookie e esclarecimentos, pois ela também funciona com URLs seguros ;-)
Se você precisar se conectar a um servidor com um certificado inválido ou certificado autoassinado, isso gerará erros de segurança, a menos que você importe o certificado. Se você precisar dessa funcionalidade, considere a abordagem detalhada nesta resposta a esta pergunta relacionada no StackOverflow.
Exemplo
String result = getUrlAsString("https://www.google.com");
System.out.println(result);
saídas
<!doctype html><html itemscope="" .... etc
Código
import java.net.URL;
import java.net.URLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public static String getUrlAsString(String url)
{
try
{
URL urlObj = new URL(url);
URLConnection con = urlObj.openConnection();
con.setDoOutput(true); // we want the response
con.setRequestProperty("Cookie", "myCookie=test123");
con.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuilder response = new StringBuilder();
String inputLine;
String newLine = System.getProperty("line.separator");
while ((inputLine = in.readLine()) != null)
{
response.append(inputLine + newLine);
}
in.close();
return response.toString();
}
catch (Exception e)
{
throw new RuntimeException(e);
}
}