Estou com um problema em consultar o cnpj da receita, está dando um erro muito estranho não conseguir identificar, alguém poderia me ajudar nisso!!
vou postar o código e o erro!!
Valeu galera!!
importcom.gargoylesoftware.htmlunit.BrowserVersion;importcom.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;importcom.gargoylesoftware.htmlunit.HttpMethod;importcom.gargoylesoftware.htmlunit.WebClient;importcom.gargoylesoftware.htmlunit.html.HtmlForm;importcom.gargoylesoftware.htmlunit.html.HtmlPage;importcom.gargoylesoftware.htmlunit.WebRequestSettings;importjava.awt.BorderLayout;importjava.awt.Image;importjava.io.IOException;importjava.io.InputStream;importjava.net.MalformedURLException;importjava.net.URL;importjavax.imageio.ImageIO;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;publicclassHtmlUnitTest{publicstaticvoidmain(String[]args)throwsFailingHttpStatusCodeException,MalformedURLException,IOException{System.out.println("Começa a");WebClientwebClient=newWebClient(BrowserVersion.FIREFOX_2);// Page web =// webClient.getPage("http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/Cnpjreva_Solicitacao2.asp");//// // página da receita// HtmlPage url = (HtmlPage) web;//// System.out.println("aqui começa a brincadeira");StringurlCaptcha="http://www.receita.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image";WebClientcliente=newWebClient(BrowserVersion.getDefault());WebRequestSettingsreqCaptcha=newWebRequestSettings(newURL(urlCaptcha));// WebRequest reqCaptcha = new WebRequest(new URL(urlCaptcha));reqCaptcha.setHttpMethod(HttpMethod.GET);InputStreamimgCaptcha=cliente.getPage(reqCaptcha).getWebResponse().getContentAsStream();imgCaptcha=webClient.getPage(reqCaptcha).getWebResponse().getContentAsStream();System.out.println("imagem "+imgCaptcha);Imageimage=null;try{image=ImageIO.read(imgCaptcha);}catch(Exceptionex){System.out.println("Erro : "+ex.getLocalizedMessage());}// Exibir o captchaJFrameframe=newJFrame();JLabellabel=newJLabel(newImageIcon(image));frame.getContentPane().add(label,BorderLayout.CENTER);frame.pack();frame.setVisible(true);// entrada do texto do captchaStringidLetras=JOptionPane.showInputDialog("Digite o captcha");// página da receitaHtmlPageurl=webClient.getPage("http://www.nfe.fazenda.gov.br/PORTAL/consulta.aspx?tipoConsulta=completa");HtmlFormform=url.getForms().get(0);form.getInputByName("ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta").setValueAttribute("52111202782071000461550010004544861625249045");form.getInputByName("ctl00$ContentPlaceHolder1$txtCaptcha").setValueAttribute(idLetras.trim());HtmlPagesubm=null;try{subm=form.getInputByName("ctl00$ContentPlaceHolder1$btnConsultar").click();}catch(IOExceptionex){System.out.println("Erro : "+ex.getLocalizedMessage());}System.out.println(subm.asXml());System.exit(0);}}
[quote]
Exception in thread “main” java.lang.NoSuchMethodError: org.apache.commons.lang.ArrayUtils.subarray([BII)[B
at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentCharSet
[/qote
A versão do HTMLUnit não bate com a versão do Apache Commons Lang. Pegue os JARs de versões compatíveis
snowblacksoul
valeu entanglement, vou tentar achar qual a versao correta!!
onde 12345678900010 é o no. do CNPJ que você deseja consultar
snowblacksoul
Fala entanglement!!!
Cara fiz o que vc tinha dito e agora veio toda a pagina html porém o resultado da consulta não veio!
o que posso estar fazendo errado, segue o codigo do resultado
Começaaimagemjava.io.ByteArrayInputStream@d0adc0cStatusLine:HTTP/1.1200OK---------------------------------------------------------Encoding:nullTamanho:10562Tipo:Content-Type:text/html---------------------------------------------------------<scriptlanguage="JavaScript">functionproxima(link){location.replace(link);returnfalse;}functioncarrega(vobjeto){for(varva=0;va<document.forms[0].elements.length;va++){if(document.forms[0].elements[va].name==vobjeto){document.forms[0].elements[va].focus();}}returnfalse;}functionvolta(vvolta){history.go(vvolta*-1);returnfalse;}functionSaltaCampo(campo,prox,tammax,teclapres){vartecla=teclapres.keyCode;vr=campo.value;tam=vr.length;if(tecla!=0&&tecla!=10&&tecla!=24)if(tam==tammax)prox.focus();}</script><script>functionhtml5_audio(){vara=document.createElement('audio');return!!(a.canPlayType&&a.canPlayType('audio/wav;').replace(/no/,''));}varplay_html5_audio=false;if(html5_audio())play_html5_audio=true;functionplay_sound(url){if(play_html5_audio){varsnd=newAudio(url);snd.load();snd.play();}else{try{varsoundEmbed=document.createElement("embed");soundEmbed.setAttribute("src",url);soundEmbed.setAttribute("hidden",true);soundEmbed.setAttribute("autostart",false);soundEmbed.setAttribute("width",0);soundEmbed.setAttribute("height",0);soundEmbed.setAttribute("enablejavascript",true);soundEmbed.setAttribute("autostart",true);document.body.appendChild(soundEmbed);}catch(e){document.getElementById("captchaLink").setAttribute("href",url);}}}</script><html><head><scriptlanguage=javascript>functionvalidaCaracteresCaptcha(nomeForm,idLetra,idSom,paginaDestino){varform=document.getElementById(nomeForm);if(document.getElementById(idLetra).value==""&&document.getElementById(idSom).value==""){AlertaCaptcha("Favor preencher algum dos campos de validação");form.action="";returnfalse;}if(document.getElementById(idLetra).value!=""&&document.getElementById(idSom).value!=""){AlertaCaptcha("Favor preencher apenas um dos campos de validação");form.action="";returnfalse;}if(document.getElementById("cnpj").value==""){AlertaCaptcha("Favor preencher o campo de CNPJ");form.action="";returnfalse;}form.action=paginaDestino;returntrue;}functionFRMOnLoad(){varckck=getCookie('flag');if(theForm.idLetra.value!=""||ck==null||ck==1){theForm.idLetra.value="";//paraofirefoxnaoficarrecarregandoemloopdocument.cookie='flag=0';location.reload();}theForm.cnpj.focus();}functionSubmeter(){document.cookie='flag=1';if(validaCaracteresCaptcha('theForm','captcha','captchaAudio','valida.asp')==false){returnfalse;}}functiondeleteCookie(nome){varexdate=newDate();exdate.setTime(exdate.getTime()+(-1*24*3600*1000));document.cookie=nome+'='+escape('')+((-1==null)?'':'; expires='+exdate);}functiongetCookie(check_name){//firstwe'll split this cookie up into name/value pairs // note: document.cookie only returns name=value, not the other components var a_all_cookies = document.cookie.split( ';' ); var a_temp_cookie = ''; var cookie_name = ''; var cookie_value = ''; var b_cookie_found = false; // set boolean t/f default f for ( i = 0; i < a_all_cookies.length; i++ ) { // now we'llsplitaparteachname=valuepaira_temp_cookie=a_all_cookies[i].split('=');//andtrimleft/rightwhitespacewhilewe're at it cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, ''); // if the extracted name matches passed check_name if ( cookie_name == check_name ) { b_cookie_found = true; // we need to handle case where cookie has no value but exists (no = sign, that is): if ( a_temp_cookie.length > 1 ) { cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') ); } // note that in cases where cookie is initialized but no value, null is returned return cookie_value; break; } a_temp_cookie = null; cookie_name = ''; } if ( !b_cookie_found ) { return null; } } </script> <title>Emissão de Comprovante de Incrição e de Situação Cadastral</title> <script src="js/captcha.js" type="text/javascript"></script> <link href="css/captcha.css" rel="stylesheet" type="text/css" /></head><body background="area_texto_back.jpg" onload="FRMOnLoad();"><!--<form id="theForm" action="" onSubmit="javascript:return validaCaracteresCaptcha('theForm', 'idLetra', 'idSom', 'valida.asp')" method="post" name="frmConsulta">--><form id="theForm" action="" onSubmit="javascript:return Submeter();" method="post" name="frmConsulta"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td> <font color="#000080" face="Arial"> <b>Emissão de Comprovante de Inscrição e de Situação Cadastral</b></font> </td> </tr> </table> <hr size="1"> <p><font face="Arial" size="2"> <b>Contribuinte,</b></p> <p>Esta página tem como objetivo permitir a emissão do Comprovante de Inscrição e de Situação Cadastral de Pessoa Jurídica pela Internet em consonância com a <!-- 23/06/2010 Jayro Martinelli SM:244814 <a target="_blank" href="http://www.receita.fazenda.gov.br/Legislacao/Ins/2007/in7482007.htm"> <font face="Arial" size="2"> Instrução Normativa RFB nº 748, de 28 de junho de 2007.</a> --> <a target="_blank" href="http://www.receita.fazenda.gov.br/Legislacao/Ins/2011/in11832011.htm"> <font face="Arial" size="2"> Instrução Normativa RFB nº 1.183, de 19 de agosto de 2011.</a> <p ><font size="2" face="arial"> Digite o número de CNPJ da empresa e clique em "Consultar".</font></p> <input type="hidden" name="origem" value="comprovante"> <input type=hidden id=viewstate name=viewstate value='RadStyleSheetManager1_TSSM=&RadScriptManager1_TSM=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a89093640-ae6b-44c3-b8ea-010c934f8924%3aea597d4b%3bTelerik.Web.UI%3aen-US%3a4701e229-f1c8-4ec4-9c40-b2d233d95d5d%3a16e4e7cd%3af7645509%3a22a6274a%3aed16cbdc%3a11e117d7&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTc1OTk5NDIwOA8WAh4IcHJldkdVSUQFJDY4MjQyMjVmLTJhZGYtNDYxOS04YTg5LTA1MmNjYzE3MDhkNRYCAgMPZBYCAgUPFCsAAw8WBh4FV2lkdGgbAAAAAADAckABAAAAHgZIZWlnaHQbAAAAAADAUkABAAAAHgRfIVNCAoADZBYCHgtDdXJyZW50R3VpZAUkNjgyNDIyNWYtMmFkZi00NjE5LThhODktMDUyY2NjMTcwOGQ1FCsAA2RkFgIeCk1pblRpbWVvdXQCAxYCAgEPZBYIZg9kFgJmD2QWBmYPDxYKHwIbAAAAAAAASUABAAAAHwEbAAAAAACAZkABAAAAHghDc3NDbGFzc2UeCEltYWdlVXJsBVN%2BL1RlbGVyaWsuV2ViLlVJLldlYlJlc291cmNlLmF4ZD90eXBlPXJjYSZndWlkPTY4MjQyMjVmLTJhZGYtNDYxOS04YTg5LTA1MmNjYzE3MDhkNR8DAoIDZGQCAQ8PFgIeBFRleHQFEUdlcmFyIG5vdmEgaW1hZ2VtZGQCAg8WBB4JaW5uZXJodG1sBQVPdXZpch4EaHJlZgVXfi9UZWxlcmlrLldlYi5VSS5XZWJSZXNvdXJjZS5heGQ%2FdHlwZT1jYWgmYW1wO2d1aWQ9NjgyNDIyNWYtMmFkZi00NjE5LThhODktMDUyY2NjMTcwOGQ1ZAIBDw8WCh8CGwAAAAAAAElAAQAAAB8BGwAAAAAAgGZAAQAAAB8GZR8HBVN%2BL1RlbGVyaWsuV2ViLlVJLldlYlJlc291cmNlLmF4ZD90eXBlPXJjYSZndWlkPTY4MjQyMjVmLTJhZGYtNDYxOS04YTg5LTA1MmNjYzE3MDhkNR8DAoIDZGQCAg8WBh8JBQVPdXZpch8KBVd%2BL1RlbGVyaWsuV2ViLlVJLldlYlJlc291cmNlLmF4ZD90eXBlPWNhaCZhbXA7Z3VpZD02ODI0MjI1Zi0yYWRmLTQ2MTktOGE4OS0wNTJjY2MxNzA4ZDUeB1Zpc2libGVnZAIDD2QWBGYPDxYIHwZlHglBY2Nlc3NLZXllHghUYWJJbmRleAEAAB8DAgJkZAIBDw8WBh8GZR8IBRxUeXBlIHRoZSBjb2RlIGZyb20gdGhlIGltYWdlHwMCAmRkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQtSYWRDYXB0Y2hhMQULUmFkQ2FwdGNoYTEPFCsAAgUkNjgyNDIyNWYtMmFkZi00NjE5LThhODktMDUyY2NjMTcwOGQ1BgAAAAAAAAAAZD2CAOeRJug5QDJ5Svy%2FuLUWtzQeuQAXdQxceuG%2BKvMv&__EVENTVALIDATION=%2FwEWAgKugP60CQLYv5ykDHMhfQe%2BuqKe9CJEKBBD48%2B4Xf9cxPiKNKFQz0pxdiOR&RadCaptcha1_ClientState=&RadCaptcha1%24CaptchaTextBox='> <table border="0" cellspacing="1"> <tr> <td valign="top" colspan="2"> <font face="Arial" size="2"> <b>CNPJ :</b> <input tabIndex="1" name="cnpj" maxlength="14" size="16" onKeyup="SaltaCampo(document.frmConsulta.cnpj, document.frmConsulta.chave, 14, event)" value="14403514000100"> </font> </td> </tr> <tr> <td valign="top" colspan="2"> </td> </tr> <tr> <td width="50%"> <font face="Arial" size="2"> <span><label>Digite os caracteres ao lado: </label><input type='text' title='Repitaoscaracteresimpressosnaimagemaoladooupressionetabparaacessarlinkdeacessibilidade' maxLength='6' size='7' id='captcha' name='captcha'/><a ><img ></a><span id='spanSom' style='display:none'><label for='captchaAudio'>Digite os caracteres que serão falados em breve: </label><input type='text' maxlength='6' size='7' id='captchaAudio' name='captchaAudio' onblur="document.getElementById('submit1').focus();"/></span></span> </font> </td> <td width="50%"> <font face="Arial" size="2"> <img ><br/>Se os caracteres da imagem estiverem ilegíveis, <a >gerar outra imagem</a> </font> </td> </tr> <tr> <td align="center" colspan="2"> <p><br> <input type="submit" value="Consultar" id=submit1 name=submit1> <input type="hidden" name="search_type" value="cnpj"> <input type="reset" name="opcao" value="Limpar"> </p> </td> </tr> </table> </form><!-- Div obrigatório. Nele será gravado o código necessário para funcionamento do flash--><div id="container"></div></body></html>---------------------------------------------------------
E
entanglement
Não tenho a mínima idéia. Provavelmente você terá de entender o JavaScript que essa página executa para ver se você não precisa fazer mais alguma coisa, talvez usar uma outra URL ainda.
O fato de a URL da página ter mudado em relação ao código que você copiou de algum lugar devia ter lhe dado uma pista - provavelmente a página da Receita mudou desde o tempo em que o cara publicou o tal código…
snowblacksoul
Valeu grande!!
snowblacksoul
Alguém pode me ajudar nisso!
snowblacksoul
Alguém?
MeninodaVila
Fiquei curioso com o resultado final alguém conseguiu?!
P
powersistemasautomac
Olá. Caso alguém precise, tenho webservice para resolver os captchas automaticamente (receita/nfe).
Também tenho consulta direto pelo CNPJ, CPF (sem data de nascimento), chave da nfe.
Api simples e rápida.
Contato: [email removido]