Ir para conteúdo
  • Cadastre-se

AcbrConsultaCPF com openssl 1.0.2.1


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 2939 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 ?
 

  • Consultores
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#

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • 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á 2939 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...