Consulta CPF Receita Federal

Gostaria de uma help sobre como consultar cpf na RFB, pois o meu código só da captcha inválido. Consegui chegar neste código com várias pesquisas na net.

Código:

public void consultaCpf(String Cpf, String datNas) throws MalformedURLException, IOException {
    //System.out.print(datNas);
    cliente = new WebClient(BrowserVersion.getDefault());
    cliente.getOptions().setUseInsecureSSL(true);     
    
    //pegando o captcha
    String urlCaptcha = "https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp?data='" + new Date().getTime();
    reqCaptcha = new WebRequest(new URL(urlCaptcha));
    reqCaptcha.setHttpMethod(HttpMethod.GET);
    InputStream imgCaptcha = cliente.getPage(reqCaptcha).getWebResponse().getContentAsStream();
    image = ImageIO.read(imgCaptcha);
    //------------------
    
    
    page = cliente.getPage("https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublica.asp");
    
    form = page.getElementByName("frmConsultaPublica");
    form.getInputByName("txtCPF").setValueAttribute(Cpf);
    form.getInputByName("txtDataNascimento").setValueAttribute(datNas);
    
    strCaptcha = (String) JOptionPane.showInputDialog(null, "Digite os caracteres:", "Captcha", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(image), null, null);
    form2 = page.getElementByName("form_captcha");
    form2.getInputByName("txtTexto_captcha_serpro_gov_br").setValueAttribute(strCaptcha);
    
    System.out.println("Antes do click "+page.asText());
    //HtmlSubmitInput botaoEnviar = form2.querySelector("input[type='submit']");
    //page2 = form2.getInputByValue("OK").click();
    HtmlElement theElement5 = (HtmlElement) page.getElementById("btnAR2");
    page2 = (HtmlPage) theElement5.click();

    System.out.println("Apos o click "+page2.asText());
    if (page2.asText().contains("Os caracteres da imagem não foram preenchidos corretamente")) {
        JOptionPane.showMessageDialog(null, "Captcha inválido!", "Inválido!", JOptionPane.WARNING_MESSAGE);
    } else if (page2.asText().contains("Não existe no Cadastro")) {
        JOptionPane.showMessageDialog(null, page2.asText(), "Atenção!", JOptionPane.WARNING_MESSAGE);
    } else {
        setStatusFornecedor(true);
    }
    /*
     for (final HtmlTableRow row : table.getRows()) {
     System.out.println("Found row=");
     for (final HtmlTableCell cell : row.getCells()) {
     System.out.println("   Found cell: " + cell.asText());
     }
     }
     */
}