Rafael Fiori
Members-
Total de itens
108 -
Registro em
-
Última visita
-
Dias vencidos
1
Rafael Fiori venceu o dia em Dezembro 24 2014
Teve o conteúdo mais curtido
Reputação
2 ComumSobre Rafael Fiori
-
Rafael Fiori começou a seguir Autocomplete obrigatório
-
Obter Nome/Captcha por Consulta na Receita Federal via PHP/CURL
Rafael Fiori respondeu ao tópico de Vinoli em PHP
Primeiramente, obrigado pelas respostas. Obrigado pelo link, mas o que eu pretendo mesmo, é gerar um novo certificado baseado no tempo restante da validade ou por tempo determinado. Massa191Obrigado pela ajuda, vou quebrar mais um pouco a cabeça aqui e tentar seguir sua recomendação. Já Sobre o tal do "EV" eu acho que o problema em questão eh bem complexo, o cURL não esta criando 4 valores que estão no cookie do navegador, que são referente a hora e dia da visita, os conteudo destes cookies estão criptografados. oque eu acredito que o sistema faça eh descriptografas os valores contidos neste cookie fazer uma especie de checagem e gerar o código EV que eh adicionado ao cookie posteriormente. Mas como nenhum desses valores voltam no cookie do cURL eu estou achando que o sistema usa javascript para setar estes cookies... Vou dar uma fuçada nos .js e ver se encontro algo nesse sentido, abraço -
Obter Nome/Captcha por Consulta na Receita Federal via PHP/CURL
Rafael Fiori respondeu ao tópico de Vinoli em PHP
Alguém já conseguiu fazer algo parecido mas para pegar Certidao Negativa de Débito? Estou preso nisso já faz um bom tempo, tento replicar os passos que o navegador faz, mas aparentemente esta faltando algo e eu não consigo descobrir o que é. Codigo Abaixo gera um captcha.jpg e cria as sessions, detalhe que o endereço para criação do captcha para CND é outro e ele gera uma session extra "captcha_token" $cookieFile = COOKIES . '/cnd_' . session_id(); $current = IMAGES . '/captcha.jpg'; $url = 'http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/gerarCaptcha.asp?app=CNDConjuntaInter'; if (!file_exists($cookieFile)) { $file = fopen($cookieFile, 'w'); fclose($file); } $ch = curl_init($url); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $imgsource = curl_exec($ch); curl_close($ch); if (!empty($imgsource)) { $img = imagecreatefromstring($imgsource); imagejpeg($img, $current); imagedestroy($img); } Agora a funcão que deveria pegar o retorno function getCnd($cnpj, $captcha) { $cookieFile = COOKIES . '/cnd_' . session_id(); if (!$cookieFile) { die('Cookie not found!'); } $content = file_get_contents($cookieFile); $explode = explode(chr(9), $content); $sessionName = trim($explode[count($explode) - 2]); $sessionId = trim($explode[count($explode) - 1]); $cookie = $sessionName . '=' . $sessionId; $post = array( 'NI' => $cnpj, 'Tipo' => 'comprovante', 'txtTexto_captcha_serpro_gov_br' => $captcha ); $ch = curl_init('http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CNDConjuntaInter/OpcaoCertidaoInternet.asp?app=CNDConjuntaInter'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0'); curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 3); curl_setopt($ch, CURLOPT_REFERER, 'http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CNDConjuntaInter/InformaNICertidao.asp?tipo=1'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($ch); curl_close($ch); return $html; } Pagina de partida é: http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CndConjuntaInter/InformaNICertidao.asp?Tipo=1 O Problema ocorrido é que ele quando chega na pagina de destino, ao invés de mostrar o resultado ele acaba redirecionando novamente para a home, (como se eu tivesse colado a pagina de destino no navegador). Notei que é criado uma session EX='Algum valor', porém esta informação não estou conseguinde obter com o cURL. QQ ajuda será bem vinda, e qualquer dúvida só perguntar, obrigado!