Пример #1
0
 /**
  * Metodo para realizar a consulta
  *
  * @param  string $cpf CPF
  * @param  string $captcha CAPTCHA
  * @param  string $stringCookie COOKIE
  * @throws Exception
  * @return array  Dados da pessoa
  */
 public static function consulta($cpf, $captcha, $stringCookie)
 {
     try {
         $arrayCookie = explode(';', $stringCookie);
         if (!Utils::isCpf($cpf)) {
             throw new Exception();
         }
         $client = new Client();
         $client->setHeader('Host', 'www.receita.fazenda.gov.br');
         $client->setHeader('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0');
         $client->setHeader('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
         $client->setHeader('Accept-Language', 'pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3');
         $client->setHeader('Accept-Encoding', 'gzip, deflate');
         $client->setHeader('Referer', 'http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublica.asp');
         $client->setHeader('Cookie', $arrayCookie[0]);
         $client->setHeader('Connection', 'keep-alive');
         $param = array('txtCPF' => Utils::unmask($cpf), 'txtTexto_captcha_serpro_gov_br' => $captcha, 'Enviar' => 'Consultar');
         $crawler = $client->request('POST', 'http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublicaExibir.asp', $param);
         $clConteudoDados = $crawler->filter('span.clConteudoDados');
         return array('cpf' => Utils::unmask($cpf), 'nome' => trim(str_replace('Nome da Pessoa Física: ', '', $clConteudoDados->eq(1)->html())), 'situacao_cadastral' => str_replace('Situação Cadastral: ', '', $clConteudoDados->eq(2)->html()), 'digito_verificador' => str_replace('Digito Verificador: ', '', $clConteudoDados->eq(3)->html()));
     } catch (Exception $e) {
         throw new Exception('Aconteceu um erro ao fazer a consulta. Envie os dados novamente.');
     }
 }
 public function testCpfFalso()
 {
     $this->assertFalse(Utils::isCpf(FakerBR::cpf(false)));
 }
Пример #3
0
 public function testIsCpf()
 {
     $this->assertEquals(true, Utils::isCpf('73258442398'));
     $this->assertEquals(true, Utils::isCpf('732.584.423-98'));
     $this->assertEquals(false, Utils::isCpf('3234423333'));
 }