alguem tem este tipo de consulta funcionando ?
segue até onde cheguei, não consigo saber qual é o erro, é como se o click não fosse disparado, talvez porque eu tenha desabilitado o JS devido a ter erro isto depois que o capctha foi alterado na receita para 6 caracteres.
package aix;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
public class Aix {
public static void main(String[] args) {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
webClient.setJavaScriptEnabled(false);
try {
HtmlPage htmlPage = webClient.getPage("http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/Cnpjreva_Solicitacao2.asp");
HtmlForm htmlForm = htmlPage.getForms().get(0);
String result = htmlPage.asXml();
// System.out.println(result);
if (result.contains("src=\"/scripts/captcha/Telerik.Web.UI.WebResource.axd?type=rca&guid=")) {
// pegando hash
int posicaoInicial = result.indexOf("src=\"/scripts/captcha/Telerik.Web.UI.WebResource.axd?type=rca&guid=");
String hash = result.trim().substring(posicaoInicial + 71, posicaoInicial + 71 + 36);
// buscando a imagem:
URL uri = new URL("http://www.receita.fazenda.gov.br/scripts/captcha/Telerik.Web.UI.WebResource.axd?type=rca&guid=" + hash);
// gravando imagem
RenderedImage img = ImageIO.read(uri);
ImageIO.write((RenderedImage) img, "png", new File("a.png"));
}
htmlForm.getInputByName("cnpj").setValueAttribute("12345678909876");
htmlForm.getInputByName("captcha").setValueAttribute("31SKQZ");
System.out.println("OLA AQUI: " + htmlForm.getInputByName("captcha").getPage().asXml());
//webClient.setJavaScriptEnabled(true);
HtmlPage subm = htmlForm.getInputByName("submit1").click();
String[] linha = subm.asText().split("\r\n");
for (String l : linha) {
System.out.println(l);
}
} catch (FailingHttpStatusCodeException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}