Ir para conteúdo
Vinoli

Obter Nome/Captcha por Consulta na Receita Federal via PHP/CURL

Recommended Posts

Obrigado Tonicley

 

Quem quiser a solução completa (CPF + CNPJ) , segue Link para o repositório em Github.

Além do Download, quem quiser colaborar com o desenvolvimento desta aplicação , sugerir modificações , clonar , dar Estrela , fique a vontade.... rs

 

https://github.com/Massa191/Consultas_CNPJ_CPF_Receita_Federal

 

Abraço.

Marcos

Boa noite.

 

Você salvou minha... Eu estava atras de um uma forma de fazer isso faz um tempo.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá htngp,

 

Você poderia postar o código de consulta do QSA. Não entendo muito de curl e gostaria de obter estes dados juntamente com os dados da consulta do CNPJ.

 

Obrigado

 

 

 

Consegui listar o QSA. Graças ao Massa 191 pelas suas dicas super importantes!

 

Criei um novo arquivo chamado getqsa.php e o conteúdo dele é o seguinte

<?php

function getQsa(){
    
    $cookieFile = COOKIELOCAL.session_id();
    $cookieFile_fopen = HTTPCOOKIELOCAL.session_id();
    // dados que serão submetidos a consulta por post
    $post = array
    (
		'qsa'					=> 'Consulta QSA / Capital Social'
		
    );
    
	$post = http_build_query($post, NULL, '&');

    $ch = curl_init('http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/Cnpjreva_qsa.asp');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);		// aqui estão os campos de formulário
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);	// dados do arquivo de cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);	// dados do arquivo de cookie
    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);	    // dados de sessão e flag=1
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
    //curl_setopt($ch, CURLOPT_REFERER, 'http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/Cnpjreva_Solicitacao2.asp');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $html = curl_exec($ch);

    curl_close($ch);
    return $html;
}

?>

no arquivo processa.php fica assim:

<?php

require('funcoes.php');
require('getqsa.php');

$cnpj = $_POST['CNPJ'];
$captcha = $_POST['CAPTCHA'];

// pega html resposta da receita
$getHtmlCNPJ = getHtmlCNPJ($cnpj, $captcha);
$getQsa = getQsa();

if($getHtmlCNPJ)
{
	// volova os dados em um array
	echo $getHtmlCNPJ;
        echo $getQsa;
	
        ////$campos = parseHtmlCNPJ($getHtmlCNPJ);
	//print_r($campos);
        
        
        
}

?>

Espero ter ajudado mais pessoas. Ainda precisa melhorar, mas já é algo...

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, primeiramente obrigado pela disponibilização das soluções e ajuda. Preciso atualizar o nome de 100.000 cadastros em um banco de dados.

Digitar os captchas vai levar muito tempo.

Existe alguma solução para automatizar os captchas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, primeiramente obrigado pela disponibilização das soluções e ajuda. Preciso atualizar o nome de 100.000 cadastros em um banco de dados.

Digitar os captchas vai levar muito tempo.

Existe alguma solução para automatizar os captchas ?

 

EDITADO

Caso você deseje oferecer o seu produto/serviço, utilize alguma ferramenta paga (ads), você já foi notificado que este tópico se destina à solução aberta apenas.

Editado por ESerra
  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos !

 

Primeiramente ,queria parabenizar o script de Massa191 é perfeito. !

 

Amigos preciso de uma ajuda , estou tentando fazer uma consultas neste site .

 

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso

 

só que nao sei por onde começar !

 

vi aqui que nos cookies aparece assim.

ASP.NET_SessionId ndiu3nveyohkyxiy3llbzkys tpnet.vilavelha.es.gov.br 41 B/ Sessão HttpOnly
	
_ga	GA1.3.1688059175.1441829627	.es.gov.br	30 B	/	08/09/2017 17:13:51
		
_gat	1	.es.gov.br	5 B	/	
	
portalnovo j7vflq4tlhhhs9aq1mue1pf5o2 www.vilavelha.es.gov.br	36 B 09/09/2015 21:13:46 HttpOnly
	
Valor j7vflq4tlhhhs9aq1mue1pf5o

e os campos do formularios são !

 

<select name="ProcessoAno" id="ProcessoAno" >

<input type="text" value="" tabindex="2" name="ProcessoNumeroSA" maxlength="6" id="ProcessoNumeroSA">

<input type="password" value="" tabindex="4" name="Identificador" maxlength="7" id="Identificador">

<input type="submit" tabindex="5" ,="" value="Pesquisar" id="btnEntrar">

 

Fora esses campos logo quando entra na pagina aparece no console

assim :

POST http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcessos/VerificaUsuarioLogado   
 CabeçalhosPostarRespostaJSONCookies

{"retorno":false}

POST http://tpnet.vilavelha.es.gov.br/TPNET/Manutencao/VerificaUsuario

CabeçalhosPostarRespostaJSONCookies

{"UsuarioLogado":false,"botao":"","Url":"http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Opcao"
}

Queria montar um script , porém , nao conseguir sair do lugar .. :( . se alguem puder dar a direção ... , se der para aproveitar o codigo (script) do Massa191 ..seria sensacional ..

 

Abraços inté !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Andrerds1

 

Então,....vc está no caminho certo

Testei por aqui o link informado, mas sem dados reais fica meio complicado te ajudar.

 

A princípio uma única consulta Curl deve resolver, pois monitorando a rede no envio dos dados e retorno, me parece que não são utilizados os cookies.

 

Eu tentaria inicialmente assim:

uma única consulta CURL ao endereço: http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar

passando os dados:

ProcessoAno
ProcessoNumeroSA
Identificador

 

passe também um user agente e um referer no Curl

Referer
http://tpnet.vilavelha.es.gov.br/TPNET/Home

User Agent
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0


Espero ter ajudado

 

Abraço

Marcos Peli

 

 

 

 

 

Olá amigos !

 

Primeiramente ,queria parabenizar o script de Massa191 é perfeito. !

 

Amigos preciso de uma ajuda , estou tentando fazer uma consultas neste site .

 

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso

 

só que nao sei por onde começar !

 

vi aqui que nos cookies aparece assim.

ASP.NET_SessionId ndiu3nveyohkyxiy3llbzkys tpnet.vilavelha.es.gov.br 41 B/ Sessão HttpOnly
	
_ga	GA1.3.1688059175.1441829627	.es.gov.br	30 B	/	08/09/2017 17:13:51
		
_gat	1	.es.gov.br	5 B	/	
	
portalnovo j7vflq4tlhhhs9aq1mue1pf5o2 www.vilavelha.es.gov.br	36 B 09/09/2015 21:13:46 HttpOnly
	
Valor j7vflq4tlhhhs9aq1mue1pf5o

e os campos do formularios são !

 

<select name="ProcessoAno" id="ProcessoAno" >

<input type="text" value="" tabindex="2" name="ProcessoNumeroSA" maxlength="6" id="ProcessoNumeroSA">

<input type="password" value="" tabindex="4" name="Identificador" maxlength="7" id="Identificador">

<input type="submit" tabindex="5" ,="" value="Pesquisar" id="btnEntrar">

 

Fora esses campos logo quando entra na pagina aparece no console

assim :

POST http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcessos/VerificaUsuarioLogado   
 CabeçalhosPostarRespostaJSONCookies

{"retorno":false}

POST http://tpnet.vilavelha.es.gov.br/TPNET/Manutencao/VerificaUsuario

CabeçalhosPostarRespostaJSONCookies

{"UsuarioLogado":false,"botao":"","Url":"http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Opcao"
}

Queria montar um script , porém , nao conseguir sair do lugar .. :( . se alguem puder dar a direção ... , se der para aproveitar o codigo (script) do Massa191 ..seria sensacional ..

 

Abraços inté !

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Andrerds1

 

Então,....você está no caminho certo

Testei por aqui o link informado, mas sem dados reais fica meio complicado te ajudar.

 

A princípio uma única consulta Curl deve resolver, pois monitorando a rede no envio dos dados e retorno, me parece que não são utilizados os cookies.

 

Eu tentaria inicialmente assim:

uma única consulta CURL ao endereço: http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar

passando os dados:

ProcessoAno

ProcessoNumeroSA

Identificador

 

passe também um user agente e um referer no Curl

Referer

http://tpnet.vilavelha.es.gov.br/TPNET/Home

User Agent

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0

Espero ter ajudado

 

Abraço

Marcos Peli

 

 

 

 

 

 

 

Olá Grande Mestre :D .. Marcos..

primeiramente obrigado..

Já esta ajudando e muito.

 

Então ! após fazer a consulta , vi que apareceu outros paramentos ,

 

após o post :

POST http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar

Identificador	 Z374TF2
ProcessoAno	 2015
ProcessoNumeroSA 22665


// o link muda e chama mais parâmetros.

GET http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/?protocolo=2015/22665&identificador=Z374TF2&chamada=2&consultaSA=true&_=1441994607355

_	   1441994607355
chamada	2
consultaSA	true
identificador	Z374TF2
protocolo	2015/22665

// se eu jogar o link GET direto consigo fazer a consultar .. porem não e isso que quero!

Até consigo , fazer a consulta diretamente , porém queria pode extrair os dados.

 

Vi outro problema, a qual Se eu conseguir chegar na parte da extração de dados. existe uma Tabela , listando algumas informações, e o pior, tem umas imagens com tooltip com uma informações dentro.

<a class="OBS" rel="tooltip">
<img border="0" src="/TPNET/Content/themes/base/imagens/obstramite.gif">
</a>

Bem , estarei tentando em primeira mão fazer a requisição , embora ja tinha tentando varias formas e todos sem sucesso, mais agora com sua ajuda aqui com toda certeza irei conseguir ..

mais uma vez obrigado.

 

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá Grande Mestre :D .. Marcos..

primeiramente obrigado..

Já esta ajudando e muito.

 

Então ! após fazer a consulta , vi que apareceu outros paramentos ,

 

após o post :

POST http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar

Identificador	 Z374TF2
ProcessoAno	 2015
ProcessoNumeroSA 22665


// o link muda e chama mais parâmetros.

GET http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/?protocolo=2015/22665&identificador=Z374TF2&chamada=2&consultaSA=true&_=1441994607355

_	   1441994607355
chamada	2
consultaSA	true
identificador	Z374TF2
protocolo	2015/22665

// se eu jogar o link GET direto consigo fazer a consultar .. porem não e isso que quero!

Até consigo , fazer a consulta diretamente , porém queria pode extrair os dados.

 

Vi outro problema, a qual Se eu conseguir chegar na parte da extração de dados. existe uma Tabela , listando algumas informações, e o pior, tem umas imagens com tooltip com uma informações dentro.

<a class="OBS" rel="tooltip">
<img border="0" src="/TPNET/Content/themes/base/imagens/obstramite.gif">
</a>

Bem , estarei tentando em primeira mão fazer a requisição , embora ja tinha tentando varias formas e todos sem sucesso, mais agora com sua ajuda aqui com toda certeza irei conseguir ..

mais uma vez obrigado.

 

...

 

Olá pessoal ! dando um feedback ..

 

Até agora não conseguir retornar os dados .. :(

depois posto meus códigos aqui ..

para ver se podem me ajudar. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Olá pessoal ! dando um feedback ..

 

Até agora não conseguir retornar os dados .. :(

depois posto meus códigos aqui ..

para ver se podem me ajudar. :(

 

Mas aí tá muito fácil

o link não expirou até agora e não é necessário o parâmetro &_=1441994607355 (pelo menos no teste que fiz aqui funcionou sem)

tenta o link abaixo aí !!!!

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/?protocolo=2015/22665&identificador=Z374TF2&chamada=2&consultaSA=true

 

 

vc. precisa de:

uma página em HTML com o Form para a entrada dos dados

identificador

ano

processo

 

enviar para o script PHP que fara a consulta CURL através do Método GET para o endereço

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/

 

monta as variáveis que serão passadas pelo curl e depois faz a chamada

identificador=Z374TF2

protocolo=2015/22665 (protocolo = ano."/".processo)

chamada=2

consultaSA=true

 

na resposta vc. extrai o que interessa

 

e pronto

 

Estou viajando e só volto no f de semana

vai testando aí, qq coisa resolvo isso pra vc. no f de semana

 

Abs.

Marcos Peli

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Mas aí tá muito fácil

o link não expirou até agora e não é necessário o parâmetro &_=1441994607355 (pelo menos no teste que fiz aqui funcionou sem)

tenta o link abaixo aí !!!!

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/?protocolo=2015/22665&identificador=Z374TF2&chamada=2&consultaSA=true

 

 

você. precisa de:

uma página em HTML com o Form para a entrada dos dados

identificador

ano

processo

 

enviar para o script PHP que fara a consulta CURL através do Método GET para o endereço

http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/

 

monta as variáveis que serão passadas pelo curl e depois faz a chamada

identificador=Z374TF2

protocolo=2015/22665 (protocolo = ano."/".processo)

chamada=2

consultaSA=true

 

na resposta você. extrai o que interessa

 

e pronto

 

Estou viajando e só volto no f de semana

vai testando aí, qq coisa resolvo isso pra você. no f de semana

 

Abs.

Marcos Peli

 

Obrigado mestre irei tentar aqui ...

 

ainda bem que não postei o cod meu aqui tava todo errado .. heheheheh

 

obrigado .. irei testa ainda hoje.... e te falo ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Obrigado mestre irei tentar aqui ...

 

ainda bem que não postei o cod meu aqui tava todo errado .. heheheheh

 

obrigado .. irei testa ainda hoje.... e te falo ..

 

Eu estou me embolando nesta parte aqui :

 

enviar para o script PHP que fara a consulta CURL através do Método GET para o endereço

http://tpnet.vilavel...cesso/Processo/

 

monta as variáveis que serão passadas pelo curl e depois faz a chamada

identificador=Z374TF2

protocolo=2015/22665 (protocolo = ano."/".processo)

chamada=2

consultaSA=true

 

 

Na verdade deve esta tudo errado ! :( putz .. mais continuarei tentando .. e bem provável que algum dia eu consiga .. hehe ..

 

Meu código funcao.php:

<?php
ini_set('display_erros', 1);
// Criado por Marcos Peli
// ultima atualização 05/06/2015 - correçâo ref alteraçâo parametros consulta CPF da receita de 03/06/2015
// o objetivo dos scripts deste repositório é integrar consultas de CNPJ e CPF diretamente da receita federal
// para dentro de aplicações web que necessitem da resposta destas consultas para proseguirem, como e-comerce e afins.
// define caminho absoluto e relativo para arquivo cookie
// inicia sessão
 session_start();
// função para pegar o que interessa
function pega_o_que_interessa($inicio, $fim, $total) {
    $interesse = str_replace($inicio, '', str_replace(strstr(strstr($total, $inicio), $fim), '', strstr($total, $inicio)));
    return($interesse);
}
// função para pegar a resposta html da consulta pelo CPF na página da receita
function getHtmlVV($protocolo, $Identificador, $chamada=2, $consultaSA=true) {
    //GET http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/?protocolo=2015/22665&identificador=Z374TF2&chamada=2&consultaSA=true&_=1441994607355

    $url = 'http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/';
      
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
    curl_setopt($ch, CURLOPT_REFERER, 'http://tpnet.vilavelha.es.gov.br/TPNET/Home');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $html = curl_exec($ch);
    curl_close($ch);
    return $html;
}
function parseHtmlVV($html) {
    // respostas que interessam
    $campos = array(
        'Requerente',
        'Processo:'
         );

    // caracteres que devem ser eliminados da resposta
    $caract_especiais = array(
        chr(9),
        chr(10),
        chr(13),
        ' ',
        '</b>',
        '  '
    );

    // prepara a resposta para extrair os dados
    $html = str_replace('<br><b>', '<b>', str_replace($caract_especiais, '', strip_tags($html, '<b><br>')));

    $html3 = $html;
    // faz a extração
    for ($i = 0; $i < count($campos); $i++) {
        $html2 = strstr($html, utf8_decode($campos[$i]));
        $resultado[] = trim(pega_o_que_interessa(utf8_decode($campos[$i]) . '<b>', '<br>', $html2));
        $html = $html2;
    }
    return $resultado;
}
print_r( $_GET );

Meu código processa.php:

<?php
require('funcao.php');

// dados da postagem do formulario de CPF
$Identificador 		= $_GET['Identificador'];           // Entradas POST devem ser tratadas para evitar injections
$ProcessoAno 		= $_GET['ProcessoAno'];  	    // Entradas POST devem ser tratadas para evitar injections
$ProcessoNumeroSA 	= $_GET['ProcessoNumeroSA'];

$protocolo		=  $ProcessoAno."/".$ProcessoNumeroSA;
 
  // Entradas POST devem ser tratadas para evitar injections

if($Identificador AND $protocolo)
{
  $getHtmlVV = getHtmlVV( $protocolo, $Identificador, $chamada=2, $consultaSA=true );
  $campos = parseHtmlVV($getHtmlVV);
}
 
echo "<pre>";
print_r ($campos);

echo "Get = "; print_r($protocolo);
 ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Eu estou me embolando nesta parte aqui :

 

enviar para o script PHP que fara a consulta CURL através do Método GET para o endereço

http://tpnet.vilavel...cesso/Processo/

 

monta as variáveis que serão passadas pelo curl e depois faz a chamada

identificador=Z374TF2

protocolo=2015/22665 (protocolo = ano."/".processo)

chamada=2

consultaSA=true

 

 

Na verdade deve esta tudo errado ! :( putz .. mais continuarei tentando .. e bem provável que algum dia eu consiga .. hehe ..

 

Meu código funcao.php:

 

Olá Andrerds1

 

Segue Scripts para realizar sua Consulta de processo já pronto

Lembrando que a função para extração dos dados da HTML ainda precisa ser escrita, mas isso acho que vc. consegue resolver né ?

 

Abraço

Marcos Peli

 

 

index.php

<?php

?>

<html>
        <head>
                <title>CNPJ , CPF e Captcha</title>
        </head>
        <body>
        <form id="form_processo" name="form_processo" method="post" action="processa.php">
                <p><span class="titleCats">Consulta Processo</span>
                  <br />
                  <input name="ano" type="number" maxlength="4" required /> 
                  <b style="color: red">ANO</b>
                  <br />
                  <input name="processo" type="number" maxlength="5" required />
                  <b style="color: red">N.Processo</b>
                  <br />
                  <input name="identificador" type="text" maxlength="7" required />
                  <b style="color: red">Identificador</b>
                  <br />
                </p>
                <p>
                  <input id="enviar" name="enviar" type="submit" value="Consultar"/>
                </p>

		</form>
        </body>
</html>


processa.php

<?php

require('funcoes.php');

// dados da postagem de formulário de consulta_processo
$ano = $_POST['ano'];
$processo = $_POST['processo'];
$identificador = $_POST['identificador'];

if($ano and $processo and $identificador)
{
	$getHtmlVV = getHtmlVV($ano, $processo, $identificador);
	$campos = parseHtmlVV($getHtmlVV);
}

echo $getHtmlVV;
print_r($campos);

?>

funcoes.php

<?php

// função para pegar o que interessa
function pega_o_que_interessa($inicio,$fim,$total)
{
	$interesse = str_replace($inicio,'',str_replace(strstr(strstr($total,$inicio),$fim),'',strstr($total,$inicio)));
	return($interesse);
}

// função para pegar a resposta html da consulta de processos
function getHtmlVV($ano, $processo, $identificador)
{
	
	// dados que serão submetidos a consulta por GET
	$protocolo = $ano."/".$processo;
	 
    $get = array
    (
		'protocolo'						=> $protocolo,
		'identificador' 				=> $identificador, 
		'chamada'						=> 2,
		'consultaSA'					=> 'true'
    );
    
	$url = 'http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/';
	$get = http_build_query($get, NULL, '&');

    $ch = curl_init();
	curl_setopt($ch, CURLOPT_HEADER, true);
	curl_setopt($ch, CURLOPT_URL, "$url?$get");	// aqui estão os campos de formulário enviados por get		
    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_REFERER, 'http:://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $html = curl_exec($ch);
    curl_close($ch);
    return $html;
}

// Função para extrair o que interessa da HTML e colocar em array
function parseHtmlVV($html)
{

	// Aquis será montado o script que fara a extração dos resultados da HTML 


}
 
?>



  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Olá Andrerds1

 

Segue Scripts para realizar sua Consulta de processo já pronto

Lembrando que a função para extração dos dados da HTML ainda precisa ser escrita, mas isso acho que você. consegue resolver né ?

 

Abraço

Marcos Peli

 

 

index.php

<?php

?>

<html>
        <head>
                <title>CNPJ , CPF e Captcha</title>
        </head>
        <body>
        <form id="form_processo" name="form_processo" method="post" action="processa.php">
                <p><span class="titleCats">Consulta Processo</span>
                  <br />
                  <input name="ano" type="number" maxlength="4" required /> 
                  <b style="color: red">ANO</b>
                  <br />
                  <input name="processo" type="number" maxlength="5" required />
                  <b style="color: red">N.Processo</b>
                  <br />
                  <input name="identificador" type="text" maxlength="7" required />
                  <b style="color: red">Identificador</b>
                  <br />
                </p>
                <p>
                  <input id="enviar" name="enviar" type="submit" value="Consultar"/>
                </p>

		</form>
        </body>
</html>


processa.php

<?php

require('funcoes.php');

// dados da postagem de formulário de consulta_processo
$ano = $_POST['ano'];
$processo = $_POST['processo'];
$identificador = $_POST['identificador'];

if($ano and $processo and $identificador)
{
	$getHtmlVV = getHtmlVV($ano, $processo, $identificador);
	$campos = parseHtmlVV($getHtmlVV);
}

echo $getHtmlVV;
print_r($campos);

?>

funcoes.php

<?php

// função para pegar o que interessa
function pega_o_que_interessa($inicio,$fim,$total)
{
	$interesse = str_replace($inicio,'',str_replace(strstr(strstr($total,$inicio),$fim),'',strstr($total,$inicio)));
	return($interesse);
}

// função para pegar a resposta html da consulta de processos
function getHtmlVV($ano, $processo, $identificador)
{
	
	// dados que serão submetidos a consulta por GET
	$protocolo = $ano."/".$processo;
	 
    $get = array
    (
		'protocolo'						=> $protocolo,
		'identificador' 				=> $identificador, 
		'chamada'						=> 2,
		'consultaSA'					=> 'true'
    );
    
	$url = 'http://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Processo/';
	$get = http_build_query($get, NULL, '&');

    $ch = curl_init();
	curl_setopt($ch, CURLOPT_HEADER, true);
	curl_setopt($ch, CURLOPT_URL, "$url?$get");	// aqui estão os campos de formulário enviados por get		
    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_REFERER, 'http:://tpnet.vilavelha.es.gov.br/TPNET/ConsultaProcesso/Consultar');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $html = curl_exec($ch);
    curl_close($ch);
    return $html;
}

// Função para extrair o que interessa da HTML e colocar em array
function parseHtmlVV($html)
{

	// Aquis será montado o script que fara a extração dos resultados da HTML 


}
 
?>



Olá Marcos !

Cara Muito obrigado ! ...

você e d+ ...

fiz o teste aqui e funcionou carregou tudo muito show ... ..

 

o que não conseguir foi extrair somente os dados que estão dentro disso aqui .

<a class="OBS" rel="tooltip">
<img border="0" src="/TPNET/Content/themes/base/imagens/obstramite.gif">
</a>

informações dentro da tooltip ..

 

Mais nem sem como agradecer .. valeu por tudo ! sucesso !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Andrerds1

 

irmãozinho, tá fácil ......

Vc. tem a HTML com todas as informações

A informação que aparece no tooltip está no atributo title da tag de hiperlink

<a rel="tooltip" class="OBS" title='Alvará Provisório emitido/ nº 2142
valido até 08/12/2015'>
                            <img border="0" src="/TPNET/Content/themes/base/imagens/obstramite.gif"> </a>

Vc. pode extrair na unha, como eu fiz, ...com expressões regulares, ou com Simple HTML DOM parser.

http://davidwalsh.name/php-notifications

 

Tá na hora de pescar amigo, ... que o peixe tá pedindo pra ser fisgado

 

Fico Contente em poder ter ajudado

 

Grande Abraço
Marcos Peli​

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voltando ao Foco do tópico para quem está chegando agora.

Consulta de CPF e CNPJ direto no site da receita

 

Segue abaixo link do repositório no GitHub para Download, colaboração, etc..., fiquem a vontade para dar estrela ou um Fork, rs

https://github.com/Massa191/Consultas_CNPJ_CPF_Receita_Federal

 

Scripts atualizados e funcionais.

 

Abraços
Marcos Peli

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Andrerds1

 

irmãozinho, tá fácil ......

você. tem a HTML com todas as informações

A informação que aparece no tooltip está no atributo title da tag de hiperlink

<a rel="tooltip" class="OBS" title='Alvará Provisório emitido/ nº 2142
valido até 08/12/2015'>
                            <img border="0" src="/TPNET/Content/themes/base/imagens/obstramite.gif"> </a>

você. pode extrair na unha, como eu fiz, ...com expressões regulares, ou com Simple HTML DOM parser.

http://davidwalsh.name/php-notifications

 

Tá na hora de pescar amigo, ... que o peixe tá pedindo pra ser fisgado

 

Fico Contente em poder ter ajudado

 

Grande Abraço

Marcos Peli​

 

Olá mestre dos mestre bom dia .

De boa! obrigado mesmo ..

estou passando por essa dificuldade , e porque não sei programa mesmo .. só tenho que acredecer por ter me ajudado e mostrando o caminho ..

 

pode ser fácil para alguém que saiba programar , mais para mim esta embaçado, :( , sou muito noob não escondo de ninguém, sei que fica difícil hehe .

Mais uma coisa aprendi , Temos que correr atrás pesquisar muito .. as vezes no caminho encontramos pessoas disposta em ajudar , pessoa como você, que sabe das coisas, sabe o que faz, ajuda é ensinar a pescar ..

 

Obrigado por enquanto

Marcos Peli.

 

att: André Rds.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.