Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

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.

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

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 


}
 
?>



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​

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

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

×

Informação importante

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