Java com HtmlUnit não está conseguindo obter a exception

1 resposta
Lp0956

Eu tenho o seguinte código:

public static void main(String[] args){ 

    WebClient wc = null;
    HtmlPage hp = null;
    ArrayList<Product> allProducts;
    try{
        wc = new WebClient(BrowserVersion.FIREFOX_3_6);
        hp = wc.getPage("http://www.mega.co.il/");
    }catch (Exception e) {

    }
    finally{
        allProducts = getProducts(wc, hp);
        for (Product product : allProducts) {
            System.out.println(product);
        }
    }
}

E o console ainda tá mostrando uma javax.net.ssl.SSLPeerUnverifiedException sendo lançada na linha do hp = wc.getPage(“http://www.mega.co.il/”);

Feb 26, 2019 13:02:19 com.gargoylesoftware.htmlunit.html.BaseFrame loadInnerPageIfPossible

SEVERE: IOException when getting content for iframe: url=[<a href="http://www.mega.co.il/jsfweb/logins/rightLoginHPIframe.jsf">http://www.mega.co.il/jsfweb/logins/rightLoginHPIframe.jsf</a>]

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)

at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)

at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)

at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)

at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)

at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)

at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:133)

at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1405)

at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1459)

at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1324)

at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:303)

at com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPageIfPossible(BaseFrame.java:141)

at com.gargoylesoftware.htmlunit.html.BaseFrame.loadInnerPage(BaseFrame.java:100)

at com.gargoylesoftware.htmlunit.html.HtmlPage.loadFrames(HtmlPage.java:1763)

at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:204)

at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:436)

at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)

at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:369)

at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:354)

at DBSniffer.main(DBSniffer.java:107)

Alguém pode me explicar o que tá acontecendo?

1 Resposta

lvbarbosa

Para isso acontecer, a SSLPeerUnverifiedException teria que ser um Error ou um Throwable, que não são tipos de Exception. Eu verifiquei e vi que essa exceção é sim uma Exception. Portanto, é impossível que o erro esteja sendo lançado na linha do wc.getPage e não estar sendo pego pelo try/catch, se ela está dentro de um try/catch que envolve esse tipo de exceção.

Provavelmente o erro é dentro do finally.

Outra coisa que pode estar acontecendo é simplesmente o Logger da biblioteca que você está usando estar mostrando o stack trace da Exception no console.

Criado 26 de fevereiro de 2019
Ultima resposta 26 de fev. de 2019
Respostas 1
Participantes 2