none
AJUDA COM CONSULTA CPF RECEITA FEDERAL RRS feed

  • Discussão Geral

  • Pessoal, gostaria de uma ajuda ao tentar rodar um exemplo que tinha guardado aqui vi que o mesmo nao esta funcionando e descobrir que o site da receita federal atualizou assim deixando de funcionar, ao digitar o cpf ele buscava o nome e a situacao, gostaria da ajuda de voces pois estou precisando muito disso e em todos os lugares que estou a pesquisar estao cobrando...

    LINK PARA DOWLOAD DO EXEMPLO QUE EU TINHA AQUI...

    http://1drv.ms/1I4CF89

    VERIFIQUEI QUE A PAGINA QUE GERAVA  A IMAGEM MUDOU PARA

    http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/CPF/captcha/gerarCaptcha.asp

    sábado, 2 de maio de 2015 05:33

Todas as Respostas

  • Alguem.....
    domingo, 3 de maio de 2015 04:31
  • Mas o que vc quer fazer? Gerar uma consulta automatica de CPF? Até onde eu sei a Receita Federal nao permite isso... por isso mesmo é gerado um captcha, que serve justamente a impedir um uso automatico do site.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    domingo, 3 de maio de 2015 15:24
    Moderador
  • Não, eu gostaria de fazer a consulta buscar o nome e situacao cadastral, digitando o captcha normalmente, o exemplo que eu tinha funcionava mais com essa atualizacao parou de funcionar...
    domingo, 3 de maio de 2015 18:06
  • o erro esta na hora que vc escreve as palavras iguais com o captcha o captcha  foi mudado no site olhe la e atualize   
    segunda-feira, 4 de maio de 2015 04:11
  • Ja atualizei, o novo link ele busca a imagem mais mesmo eu digitando apresenta o erro...
    terça-feira, 5 de maio de 2015 04:53
  • Alguem....
    terça-feira, 5 de maio de 2015 16:25
  • up...
    quarta-feira, 6 de maio de 2015 12:27
  • up

    domingo, 17 de maio de 2015 03:51
  • up

    terça-feira, 26 de maio de 2015 19:15
  • E O CAMPO DATA NASCIMENTO
    sábado, 11 de julho de 2015 02:02
  • oi amigo eu olhei seu projeto o erro esta porque o site atualizo e agora nao  tem o captcha foi removido e agora foi colocado dois campos o do cpf e outro q e a data de nacimento de uma olha no site pra vc ver como esta agora

    site = http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublica.asp

      
    segunda-feira, 13 de julho de 2015 01:39
  • cara estou com o mesmo problema

    olha as mudanças

    ######################------Padrão Antigo--------######################
    link
    http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublica.asp
    capacha
    http://www.receita.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image
    param 01
    "txtCPF=" & CCPF & "&idLetra=" & CCaptcha & "&Enviar=Consultar"

    ######################------Novo Padrão--------######################

    link
    https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublica.asp
    capacha
    https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp?opt=image
    param 01
    "txtCPF=" & CCPF & "&idLetra=" & CCaptcha & "&Enviar=Consultar"

    aqui os novos parametros
    txtCPF
    txtDataNascimento
    txtTexto_captcha_serpro_gov_br = pode ser o novo

    terça-feira, 22 de novembro de 2016 18:35
  • Cesário, eu tentei realizar as alterações que você informou, mas ainda não estou conseguindo obter o acesso para consulta. o Response não me retorna o website correto.

    O código q uso é o seguinte:

    Dim Captcha As String
    Dim DataNascimento As String
    Dim byteArray As Byte()
    Dim request As HttpWebRequest
    Dim dataStream As Stream
    Dim response As HttpWebResponse
    Dim reader As StreamReader
    Dim responseFromServer As String
    
    Captcha = Box_Captcha.Text
    DataNascimento = Box_DataNascimento.Text
    
    byteArray = Encoding.UTF8.GetBytes("txtCPF=" & CPF & "&txtDataNascimento=" & DataNascimento & "&txtTexto_captcha_serpro_gov_br=" & Captcha & "&Enviar=Consultar")
    
    request = CType(HttpWebRequest.Create("http://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublica.asp"), HttpWebRequest)
    request.ProtocolVersion = HttpVersion.Version10
    request.ContentType = "application/x-www-form-urlencoded"
    request.CookieContainer = PackCookies
    request.Method = "POST"
    request.ContentLength = byteArray.Length
    
    dataStream = request.GetRequestStream
    dataStream.Write(byteArray, 0, byteArray.Length)
    
    response = CType(request.GetResponse, HttpWebResponse)
    
    dataStream = response.GetResponseStream
    reader = New StreamReader(dataStream, Encoding.GetEncoding("ISO-8859-1"))
    responseFromServer = reader.ReadToEnd
    
    reader.Close()
    dataStream.Close()
    response.Close()

    Também (sem saber explicar o motivo) para realizar a consulta de CNPJ com um algorítimo similar, eu tive de colocar o request e o response dentro de um For, para executar o mesmo procedimento duas vezes. Desta maneira o CNPJ retorna correto, mas o CPF não.

    quarta-feira, 28 de dezembro de 2016 14:20
  • Conseguiu resolver seu problema com a consulta?

    Estou implementando uma validação de existência de CPF na base da Receita Federal e não estou conseguindo concluir a consulta....

    sexta-feira, 13 de janeiro de 2017 13:32
  • Não T'Nering, ainda não consegui resolver meu problema. =(
    sexta-feira, 13 de janeiro de 2017 15:29
  • Alguém???
    domingo, 19 de fevereiro de 2017 20:45
  • upp???

    Alguém consegue ajudar?

    quinta-feira, 30 de março de 2017 23:35
  • Ninguém consegue ajudar????
    segunda-feira, 1 de maio de 2017 19:42
  • Boa tarde.

    Como você está pegando o captcha?

    sexta-feira, 23 de junho de 2017 17:35
  • Boa tarde Mariano.

    Eu estou usando o seguinte código:

    Dim Captcha As String
    Dim DataNascimento As String
    Dim byteArray As Byte()
    Dim request As HttpWebRequest
    Dim dataStream As Stream
    Dim response As HttpWebResponse
    Dim reader As StreamReader
    Dim responseFromServer As String
    
    Captcha = Box_Captcha.Text
    DataNascimento = Box_DataNascimento.Text
    
    byteArray = Encoding.UTF8.GetBytes("txtCPF=" & CPF & "&txtDataNascimento=" & DataNascimento & "&txtTexto_captcha_serpro_gov_br=" & Captcha & "&Enviar=Consultar")
    
    request = CType(HttpWebRequest.Create("http://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaPublica.asp"), HttpWebRequest)
    request.ProtocolVersion = HttpVersion.Version10
    request.ContentType = "application/x-www-form-urlencoded"
    request.CookieContainer = PackCookies
    request.Method = "POST"
    request.ContentLength = byteArray.Length
    
    dataStream = request.GetRequestStream
    dataStream.Write(byteArray, 0, byteArray.Length)
    
    response = CType(request.GetResponse, HttpWebResponse)
    
    dataStream = response.GetResponseStream
    reader = New StreamReader(dataStream, Encoding.GetEncoding("ISO-8859-1"))
    responseFromServer = reader.ReadToEnd
    
    reader.Close()
    dataStream.Close()
    response.Close()

    Para consulta de CNPJ eu consegui com um código similar, mas para consulta de CPF não estou conseguindo! 

    sexta-feira, 23 de junho de 2017 19:13
  • Este código deve ser do botão consultar.

    Minha pergunta é como você pega a imagem do captcha e coloca em um controle image.

    quarta-feira, 9 de agosto de 2017 23:37
  • Dim request As HttpWebRequest
    Dim response As HttpWebResponse
    Dim stream As IO.Stream
    
    request = CType(HttpWebRequest.Create("https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/captcha/gerarCaptcha.asp?opt=image"), HttpWebRequest)
    request.CookieContainer = New CookieContainer
    request.ContentType = "application/x-www-form-urlencoded"
    request.KeepAlive = True
    request.ProtocolVersion = HttpVersion.Version10
    response = CType(request.GetResponse(), HttpWebResponse)
    
    PackCookies = New CookieContainer
    PackCookies.Add(response.Cookies)
    
    stream = response.GetResponseStream()
    
    PictureBox_Captcha.BackgroundImage = Image.FromStream(stream)

    Esse é o código q uso para buscar o Captcha do CPF.

    segunda-feira, 14 de agosto de 2017 15:56
  • Up??? Alguém???
    segunda-feira, 9 de outubro de 2017 02:20
  • Boa noite, Giovanni.

    Como você vê, entro pouco aqui.

    Por isso me desculpe perguntar:

    Você quer a solução em asp.net ou em vb.net?

    domingo, 22 de outubro de 2017 22:27
  • Boa noite Mariano.

    Eu estou realizando a programação em VB .NET. Não se preocupe, só de conseguir me auxiliar com esse problema, já estará ajudando bastante :)

    segunda-feira, 23 de outubro de 2017 01:01
  • Bom dia.

    Tenho uma solução pronta em vbnet, porém preciso ver se ainda funciona.

    Cada vez que a receita altera o site, alguma coisa para de funcionar.

    Te respondo esta semana.

    terça-feira, 24 de outubro de 2017 11:50
  • Tudo bem, Mariano.

    Muito obrigado :) Fico no aguardo!

    terça-feira, 24 de outubro de 2017 12:36
  • Boa noite, Giovanni.

    Infelizmente, como eu disse antes, cada vez que mexem no site da receita, algo para de funcionar.

    Verifique o site atual da receita: https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublica.asp

    NÃO HÁ MAIS CAPTHA.

    Minha solução não funciona mais.

    Preciso tentar de outra maneira.

    terça-feira, 24 de outubro de 2017 21:27
  • Boa noite, Mariano.

    Puuuuuutz, cara. Eu nem havia me tocado dessa última atualização do site (há tempos não mexo com essa parte do código). Será que há uma maneira de realizar essa consulta, com esse novo reCaptcha?

    Vou ver se consigo algo, também. Mas agradeço se puder compartilhar alguma solução que venha a encontrar.

    terça-feira, 24 de outubro de 2017 21:33
  • De todo modo, segue meu código.

    Na verdade também encontrei na internet já desatualizado e adaptei.

    Quem sabe você consiga adaptá-lo também.

    Imports System.Diagnostics
    Imports System.Text.RegularExpressions
    Imports System.Windows.Forms

    Partial Public Class Form1
        Inherits Form
        Private CPF As String
        Private NOME As String
        Private DATA_DE_NASCIMENTO As String
        Private SITUACAO_CADASTRAL As String
        Private DATA_DA_INSCRICAO As String
        Private DIGITO_VERIFICADOR As String

        Public Sub New()
            InitializeComponent()
        End Sub

        Private Sub webBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles webBrowser1.DocumentCompleted
            Try
                If e.Url.AbsoluteUri.Contains("https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublica.asp") Then
                    Dim w2 As mshtml.HTMLWindow2 = DirectCast(webBrowser1.Document.Window.DomWindow, mshtml.HTMLWindow2)
                    w2.execScript("var ctrlRange = document.body.createControlRange();ctrlRange.add(document.getElementById('imgCaptcha'));ctrlRange.execCommand('Copy');", "javascript")
                    pictureBox1.Image = Clipboard.GetImage()
                    Clipboard.Clear()

                    maskedTextBox1.Enabled = True
                    maskedTextBox2.Enabled = True
                    textBox1.Enabled = True
                    button1.Enabled = True
                End If


                If e.Url.AbsoluteUri.Contains("https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublicaExibir.asp") Then
                    Dim SplitString As String()
                    Dim lines As String() = Regex.Split(webBrowser1.Document.GetElementById("content-core").OuterText, vbCr & vbLf)

                    For Each line As String In lines
                        If line.Contains("No do CPF:") Then
                            SplitString = line.Split(":"c)
                            CPF = SplitString(1).Replace(" ", "")
                        End If
                        If line.Contains("Nome: ") Then
                            SplitString = line.Split(":"c)
                            NOME = SplitString(1).Remove(SplitString(1).Length - 1).Remove(0, 1)
                        End If
                        If line.Contains("Data de Nascimento: ") Then
                            SplitString = line.Split(":"c)
                            DATA_DE_NASCIMENTO = SplitString(1).Remove(SplitString(1).Length - 1).Remove(0, 1)
                        End If
                        If line.Contains("Situação Cadastral: ") Then
                            SplitString = line.Split(":"c)
                            SITUACAO_CADASTRAL = SplitString(1).Remove(SplitString(1).Length - 1).Remove(0, 1)
                        End If
                        If line.Contains("Data da Inscrição: ") Then
                            SplitString = line.Split(":"c)
                            DATA_DA_INSCRICAO = SplitString(1).Remove(SplitString(1).Length - 1).Remove(0, 1)
                        End If
                        If line.Contains("Digito Verificador: ") Then
                            SplitString = line.Split(":"c)
                            DIGITO_VERIFICADOR = SplitString(1).Remove(SplitString(1).Length - 1).Remove(0, 1)
                        End If
                    Next

                    textBox2.Text = CPF
                    textBox3.Text = NOME
                    textBox4.Text = DATA_DE_NASCIMENTO
                    textBox5.Text = SITUACAO_CADASTRAL
                    textBox6.Text = DATA_DA_INSCRICAO
                    textBox7.Text = DIGITO_VERIFICADOR

                    maskedTextBox1.[Select]()
                End If
            Catch ex As Exception
                MessageBox.Show(ex.ToString)
            End Try
        End Sub
        Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
            webBrowser1.Document.GetElementById("txtCPF").InnerText = maskedTextBox1.Text
            webBrowser1.Document.GetElementById("txtDataNascimento").InnerText = maskedTextBox2.Text
            webBrowser1.Document.GetElementById("id_submit").InvokeMember("click")

            webBrowser1.Document.GetElementById("txtTexto_captcha_serpro_gov_br").InnerText = textBox1.Text
            webBrowser1.Document.GetElementById("btnAR2").InvokeMember("click")
        End Sub
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            webBrowser1.Navigate("http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/cpf/ConsultaPublica.asp")
        End Sub
        Private Sub webBrowser1_Navigating(sender As Object, e As WebBrowserNavigatingEventArgs) Handles webBrowser1.Navigating
            maskedTextBox1.Enabled = False
            maskedTextBox2.Enabled = False
            textBox1.Enabled = False
            button1.Enabled = False
            pictureBox1.Image = Nothing
        End Sub
        Private Sub linkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles linkLabel1.LinkClicked
            Process.Start("https://www.facebook.com/krazybeat")
        End Sub
        Private isFirstChange As Boolean = True
        Private Sub textBox1_TextChanged(sender As Object, e As EventArgs) Handles textBox1.TextAlignChanged
            If isFirstChange Then
                isFirstChange = False
                textBox1.Text = Me.textBox1.Text.ToUpper()
                textBox1.SelectionStart = Me.textBox1.Text.Length
                isFirstChange = True
            End If
        End Sub
    End Class

    terça-feira, 24 de outubro de 2017 22:58
  • Boa noite Giovanni.

    Caso te interesse, o exemplo abaixo em html, funciona muito bem, inclusive utilizo em um site.

    Basta abrir com o visual studio e deixar a data de nascimento = 11/11/1111

    <!DOCTYPE html>
    <html lang="pt-BR">
    <head>
        <meta charset=utf-8 />
        <title>Exemplo do tutorial Como Buscar Nomes de Pessoas Físicas a Partir de CPFs Usando a API do BipBop</title>
        <style>
          input {
            font-size: 15px;
            width: 300px;
          }
        </style>
        <script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.13.4/jquery.mask.js"></script>
        <script src="//irql.bipbop.com.br/js/jquery.bipbop.min.js"></script>
    </head>

    <body>
        <form>
          <p>
            <input type="text" name="cpf" id="cpf" placeholder="CPF"></input>
          </p>
          <p>
           <input type="text" name="nascimento" id="nascimento" placeholder="Nascimento dd/mm/YYYY"></input>
          </p>
          <p>
            <input type="text" name="nome" id="nome" placeholder="Nome" disabled="disabled"></input>
          </p>

          <p id="status"></p>
        </form>
        <script>
          $(function(){
            function validCPF (cpf) {
              return cpf.match(/^\d{3}\.?\d{3}\.?\d{3}\-?\d{2}$/);
            }

            $("#nascimento").mask("00/00/0000");
            $("#cpf").mask("000.000.000-00");

            $('#cpf, #nascimento').on('input', function(){
              var cpf = $("#cpf").val(),
                nascimento = $("#nascimento").val();

              if (validCPF(cpf) && /^\d{2}\/\d{2}\/\d{4}$/.test(nascimento)) {
                $().bipbop("SELECT FROM 'BIPBOPJS'.'CPFCNPJ'", null, {
                  data: {
                      documento: cpf,
                      nascimento: nascimento
                  },

                  success: function(data) {
                    var nome = $(data).find("body nome").text();
                    var exception = $(data).find("header exception").text();

                    if (exception) {
                      exception = exception.replace(/, t/, '. T');
                      $('#status').text(exception);
                    } else {
                      $("#nome").val(nome);
                    }
                  }
                });
              }
            });
          });
        </script>
    </body>
    </html>

    sexta-feira, 27 de outubro de 2017 22:50
  • Boa noite, Mariano.

    Desculpe minha ignorância, mas não consegui fazer o código funcionar. Nem mesmo salvando ele em um HTML e executando. =/

    sexta-feira, 27 de outubro de 2017 23:13
  • Boa tarde.

    Me passe seu e-mail que envio o arquivo.

    domingo, 29 de outubro de 2017 16:05
  • giovanni.almeida@outlook.com 
    domingo, 29 de outubro de 2017 17:24
  • Boa tarde. Enviei no seu e-mail. Qualquer dúvida pode me retornar no e-mail, uma vez que, às vezes fico meses sem entrar aqui.
    domingo, 29 de outubro de 2017 20:38
  • Olá Mariano, boa noite.

    Eu recebi seu e-mail; irei olhar com calma essa semana e lhe retorno, tudo bem?

    Agradeço, imensamente, a atenção! Vai me ajudar muito! :)

    segunda-feira, 30 de outubro de 2017 01:48
  • Boa noite.

    A quem possa interessar, segue link funcionando.

    A data de nascimento, embora obrigatória, pode ser 11/11/1111.

    A deficiência é não retornar erros em caso de cpf inválido ou não existente.

    http://www.escolassantanna.com.br/web/prototipo/


    MARIANO1776

    quarta-feira, 8 de novembro de 2017 00:06
  • Não funciona mais

    MARIANO1776

    domingo, 15 de setembro de 2019 15:58