Ir para conteúdo
  • Cadastre-se

dev botao

AcbrConsultaCPF com openssl 1.0.2.1


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 2371 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Com estes links consegui retornar apenas o nome:

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublicaSonoro.asp

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublicaExibir.asp

Os arquivos estão atualizados...

Alguém por ventura sabe como é capturado o restante?  

Editado por tiagofelipebones
Postado
Em 17/01/2018 at 18:45, tiagofelipebones disse:

Com estes links consegui retornar apenas o nome:

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublicaSonoro.asp

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/ConsultaSituacao/ConsultaPublicaExibir.asp

Os arquivos estão atualizados...

Alguém por ventura sabe como é capturado o restante?  

Estou tentando fazer a requisição por esses link, minha aplicação é em c#, porém não estou conseguindo retornar os dados, a consulta volta com erro de validação anti-robo, provavelmente está faltando algo, pode me ajudar ?
Segue minha string de parametros:
string parametros =
                            "idCheckedReCaptcha=false&" +
                            "txtCPF=CPFSEMPONTUACAO&" +
                            "txtDataNascimento=22/02/1993&" + 
                            "txtToken_captcha_serpro_gov_br=&" +
                            "txtTexto_captcha_serpro_gov_br=" + Captcha + "&" +
                            "Enviar=Consultar";

Postado

Estou desenvolvendo minha aplicação em C#, estou utilizando dos link:
UrlBase  = "https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/"
UrlCaptcha = "captcha/gerarCaptcha.asp"
UrlConsulta = "ConsultaSituacao/ConsultaPublicaExibir.asp"

E criando a requisição dessa forma:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(UrlBase + UrlConsulta);
 req.KeepAlive = true;
req.Headers[HttpRequestHeader.KeepAlive] = "300";
req.CookieContainer = _cookies; // recebe cookies obtidos na rqeequisição do captcha
req.Method = "POST";
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36";

            string parametros =
                            "idCheckedReCaptcha=false&" +
                            "txtCPF=999.999.999-00&" + // NÃO ESTOU BUSCANDO ESSE NUMERO, SOMENTE EXEMPLO DO FORMATO
                            "txtDataNascimento=22/02/1993&" + 
                            "txtToken_captcha_serpro_gov_br=&" +
                            "txtTexto_captcha_serpro_gov_br=" + System.Uri.EscapeDataString(Captcha) + "&" +
                            "Enviar=Consultar";

            byte[] parametrosBytes = Encoding.UTF8.GetBytes(parametros);
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = parametrosBytes.Length;

            Stream st = req.GetRequestStream();
            st.Write(parametrosBytes, 0, parametrosBytes.Length);
            st.Close();

            WebResponse response = req.GetResponse();
            StreamReader stHtml = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("ISO-8859-1"));
            string retorno = stHtml.ReadToEnd();

 

Estou recebendo erro na validação anti-robo, alguem pode me ajudar ?
 

  • Moderadores
Postado
18 minutos atrás, gui_alexandree disse:

Estou desenvolvendo minha aplicação em C#, estou utilizando dos link:
UrlBase  = "https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATCTA/CPF/"
UrlCaptcha = "captcha/gerarCaptcha.asp"
UrlConsulta = "ConsultaSituacao/ConsultaPublicaExibir.asp"

E criando a requisição dessa forma:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(UrlBase + UrlConsulta);
 req.KeepAlive = true;
req.Headers[HttpRequestHeader.KeepAlive] = "300";
req.CookieContainer = _cookies; // recebe cookies obtidos na rqeequisição do captcha
req.Method = "POST";
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36";

            string parametros =
                            "idCheckedReCaptcha=false&" +
                            "txtCPF=999.999.999-00&" + // NÃO ESTOU BUSCANDO ESSE NUMERO, SOMENTE EXEMPLO DO FORMATO
                            "txtDataNascimento=22/02/1993&" + 
                            "txtToken_captcha_serpro_gov_br=&" +
                            "txtTexto_captcha_serpro_gov_br=" + System.Uri.EscapeDataString(Captcha) + "&" +
                            "Enviar=Consultar";

            byte[] parametrosBytes = Encoding.UTF8.GetBytes(parametros);
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = parametrosBytes.Length;

            Stream st = req.GetRequestStream();
            st.Write(parametrosBytes, 0, parametrosBytes.Length);
            st.Close();

            WebResponse response = req.GetResponse();
            StreamReader stHtml = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("ISO-8859-1"));
            string retorno = stHtml.ReadToEnd();

 

Estou recebendo erro na validação anti-robo, alguem pode me ajudar ?
 

Então tem o componente no ACBr para delphi/lazarus

acredito que seu problema deva procurar um fórum sobre C#

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 4 meses depois ...
  • Membros Pro
Postado

Olá a todos,

estávamos implementando a consulta de CPF baixamos a ultima revisão 14884 da unit ACbrConsultaCPF.pas, e não estávamos conseguindo capturar o captcha em Delphi 7, após algumas pesquisas que o endereço de captura do captcha estava sem o "s" do http seguro. Pensando nisso fizemos uma implementação nas units ACbrConsultaCPF.pas e ACBrSocket.pas.

Na unit ACBrSocket.pas foi incluída uma property ProtocoloHTTPS : Boolean read FProtocoloHTTPS write FProtocoloHTTPS   default False;

Já na unit ACBrConsultaCPF.pas, no método function TACBrConsultaCPF.GetCaptchaURL : String ; foi incluído a seguinte linha de código:

   if ProtocoloHTTPS then
      siteconsulta := 'https://'
   else
      siteconsulta := 'http://';

   siteconsulta := siteconsulta + 'cpf.receita.fazenda.gov.br/situacao/defaultSonoro.asp';
   Self.HTTPGet(siteconsulta);

Da forma acima foi possível efetuar as consultas normalmente com a propriedade igual a True.

Estou subindo os arquivos para análise, caso esteja fazendo algo de errado, favor informar para corrigir o erro.

Agradeço a todos pela atenção.

ACBrSocket.pas

ACBrConsultaCPF.pas

Atenciosamente,

 

 Assinatura.png

  • Fundadores
Postado

Não compreendi se versão HTTPS ou HTTP que está funcionando...

A modificação em ACBrSocket.pas não parece ser necessária, pois é a própria URL (com HTTPS no inicio do endereço), que define a necessidade de comunicação Segura

Talvez seja melhor publicar propriedades em ACBrConsultaCPF.pas, para expor as URLs de consulta...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
15 horas atrás, Daniel Simoes disse:

Não compreendi se versão HTTPS ou HTTP que está funcionando...

A modificação em ACBrSocket.pas não parece ser necessária, pois é a própria URL (com HTTPS no inicio do endereço), que define a necessidade de comunicação Segura

Talvez seja melhor publicar propriedades em ACBrConsultaCPF.pas, para expor as URLs de consulta...

Bom dia, 

Primeiramente muito obrigado pelo retorno, apenas respondendo a pergunta, nos nossos testes a versão com HTTPS foi a que funcionou, tanto pelo aplicativo como pelo navegador, mas como no fonte já estava a versão HTTP, achamos melhor implementar uma property. Foram realizadas as alterações conforme solicitado, no ACBrSocket foi realizado o revert e no ACBrConsultaCPF foi implementada a property ProtocoloHTTPS .

 

 

ACBrConsultaCPF.pas

  • Curtir 1

Atenciosamente,

 

 Assinatura.png

  • Este tópico foi criado há 2371 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.