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());
}
}
*/
}