Ir para conteúdo

POWERED BY:

Arquivado

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

Valdeir Info

[Resolvido] Capturar nome através do CPF

Recommended Posts

A Receita Federal possui, se não me engano, uma API proprietária e, não sei se seria correto dizer, logicamente, paga que fornece informações Federais programaticamente.

 

Esse serviço é deveras impressionante, isso é um fato. Por ele não exigir que o CAPTCHA da Receita seja digitado, existe um forte indício de ser um serviço legítimo, de alguém disposto a pagar, programar e distribuir.

 

Porém, apesar de ser uma tarefa dificílima, sabemos que é possível burlar um CAPTCHA. Se esse site faz isso ou não, você jamais saberá.

 

Então, nos atendo unicamente ao fator problema, seria conveniente sua aplicação não ser dependente desse serviço. Como normalmente o uso de tal ferramenta seria via JavaScript, com AJAX, bastaria você testar o retorno antes de, de fato, preencher algum campo com as informações retornadas.

 

Se estiver disponível, o resultado aparecerá, se não, não. Tudo transparente ao usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se funcionar 1 vez vai funcionar todas até o site manter esse arquivo, segurança não há por que se preocupar pois os dados são do outro site eles tem essa função, e afinal já que todos podem acessar o dado através desse link qual seria sua preocupação exatamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu aí pessoal, vou utilizar esse site mesmo então.

 

Qualquer coisa quem precisar...

 

Javascript:

<script type="text/javascript">
$(function () {
$('input[name="cpf"]').keyup (function (e) {
		if ($(this).val().length == 11) {
			$.ajax({
				url:'cpf.php',
				data:'json&v='+$(this).val(),
				type:'GET',
				dataType:'json',
				beforeSend: function () {
					$('input[name="firstname"]').val('Aguarde...');
				},
				success: function (json) {
					if (json['error']) {
						$('input[name="cpf"]').val(json['error']);
						$('input[name="firstname"]').val('');
					}else{
						$('input[name="firstname"]').val(json['titular']);
					}
				}
			});
		};
	});
});
</script>

 

PHP:

<?php
if (isset($_GET['v'])):
	// OK cool - then let's create a new cURL resource handle
	$ch = curl_init();

	// Now set some options (most are optional)
	$Url = 'http://api.develman.com/receita/cpf.dm?json&v='.$_GET['v'];

	// Set URL to download
	curl_setopt($ch, CURLOPT_URL, $Url);

	// User agent
	curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");

	// Include header in result? (0 = yes, 1 = no)
	curl_setopt($ch, CURLOPT_HEADER, 0);

	// Should cURL return or print out the data? (true = return, false = print)
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

	// Timeout in seconds
	curl_setopt($ch, CURLOPT_TIMEOUT, 10);

	// Download the given URL, and return output
	$output = curl_exec($ch);
	$titular = preg_replace('/(,"situacao"|"|:|cpf|titular|[0-9]|[,{}])/i', '', $output);

	// Close the cURL resource, and free system resources
	curl_close($ch);

	if ($titular == 'Invalid'):
		echo json_encode(array('error' => "CPF Inválido"));
	else:
		echo json_encode(array('titular' => utf8_encode($titular)));
	endif;
else:
	echo json_encode(array('error' => "CPF Inválido"));
endif;
?>

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.