Ler código-fonte de uma URL 'https'

Olá pessoal!

Preciso obter o código-fonte de uma URL ‘https’.

Utilizei as classes “java.io.BufferedReader” e “java.io.InputStreamReader”, às quais funcionam em páginas ‘http’, mas quando utilizo em ‘https’, é disparada uma exceção (abaixo).
Como a página é segura, acho que existe alguma relação com a necessidade de certificação.

Agradeço a quem puder auxiliar-me.

Exceção:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to request target

Eder sem o código-fonte fica impossível ajudar.

Olá danielbussade!

No momento não estou em casa, então não possuo o código. Mas basicamente é esse o código (que peguei aqui no fórum).

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

/**
 *
 * @author cicero
 */
public class LeURL {
    
    public static void sugaHTML(String urlSt) throws MalformedURLException, IOException {
        URL url = new URL(urlSt);
        BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
        String linha = "";
        while ((linha = reader.readLine()) != null)
            System.out.println(linha);
        reader.close();
    }
    
    public static void main(String[] args) throws MalformedURLException, IOException {
        
    }
}

Esse erro indica que é necessário adicionar o certificado da autoridade certificadora que emitiu o certificado para esse site ao qual você quer se conectar ao arquivo CACERTS.

Você pode tentar uma de duas coisas:

  • Tentar conectar-se a outro site cuja autoridade certificadora seja reconhecida pelo IE ou Firefox (ou seja, que nenhum deles reclame);
  • Cadastrar o certificado do tal site no CACERTS;

Olá thingol

A página que pretendo ler o código-fonte está numa intratet, a qual exige validação de usuário e senha na primeira vez que é acessada.

Acho que se a página for acessada por algum navegador, eu consigo obter informações sobre o certificado. Mas como eu faço para “cadastrar” o tal certificado?

Será que alguém pode ajudar-me a obter o código-fonte de uma página da web?