Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2536 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá Pessoal,

 

Estou testando o componente Acbrconsultacnpj, o captcha parece demorar muito para aparecer, alguém está tendo problemas? Estou testando um componente alternativo e a resposta é bem mais rápida, até na atualização, alguém está percebendo essa lentidão no AcbrConsultacnpj?

 

Obrigado.

 

Toninho Nunes

Postado (editado)

Estive olhando o código, a parte que demora bastante é este trecho.

 

 { connect }
  if not InternalConnect(UpperCase(Prot) = 'HTTPS') then
  begin
    FAliveHost := '';
    FAlivePort := '';
    Exit;
  end;
 
No arquivo httpsend.pas
 
function THTTPSend.InternalDoConnect(needssl: Boolean): Boolean;
begin
  Result := False;
  FSock.CloseSocket;
  FSock.Bind(FIPInterface, cAnyPort);
  if FSock.LastError <> 0 then
    Exit;
  FSock.Connect(FTargetHost, FTargetPort); //Demora bastante aqui para ir no site da receita
 
Analisando o código percebi a lentidão neste trecho do código.
 
Toninho Nunes
Editado por toninhonunes
Postado

Pessoal, desculpa, não sei se é paranóia, mas rodando de novo parece que acelerou, pode ser o servidor da receita, mas o captcha estava demorando bastante dar o retorno.

 

Toninho Nunes

Postado

Daniel,

 

Eu tenho tentado usar o consultacnpj, mas falha o captca diversas vezes e lento também, eu tenho visto uma aplicação Delphi que parece que usa o Twebbrowser e retorna o captcha e os dados da empresa muito rapidamente, não tenho os fontes do sistema, mas vi que todas as tentativas que fiz e mandei trocar o captcha não ouve nenhuma falha e foi muito rápido, estou testando o exemplo do acbr.

 

Toninho Nunes

Postado

Olha, eu usando a depuração, esse método demora muito para trazer a página.

 

function TACBrConsultaCNPJ.GetCaptchaURL : String ;
var
  URL, Html: String;
begin
  try
    Html := Self.RespHTTP.Text;
 
           StrEntreStr(Html, 'alt='+
                        QuotedStr(ACBrStr('Imagem com os caracteres anti robô')) + ' src='+'''', '''');
 
    FViewState := StrEntreStr(Html, '<input type=hidden id=viewstate name=viewstate value='+'''', '''');
 
    Result := StringReplace(URL, 'amp;', '', []);
  except
    on E: Exception do
    begin
      raise EACBrConsultaCNPJException.Create('Erro na hora de obter a URL do captcha.'+#13#10+E.Message);
    end;
  end;
end;
 
//ConsultaCNPJ
 
procedure TACBrConsultaCNPJ.Captcha(Stream: TStream);
begin
  try
    HTTPGet(GetCaptchaURL);
    if HttpSend.ResultCode = 200 then
    begin
      HTTPSend.Document.Position := 0;
      Stream.CopyFrom(HttpSend.Document, HttpSend.Document.Size);
      Stream.Position := 0;
    end;
  Except on E: Exception do begin
    raise EACBrConsultaCNPJException.Create('Erro na hora de fazer o download da imagem do captcha.'+#13#10+E.Message);
  end;
  end;
end;
 
Dá erro no JPEG, dá erro nos campos, não sei se é o meu Delphi, uso a versão 7 enterprise no Windows XP SP3.
 
 
 

post-3623-0-68610600-1395093643_thumb.pn

post-3623-0-47165700-1395093824_thumb.pn

Postado

Aproveitando, vi que fez o componente Cotação, creio que adicionar a taxa selic também ajudaria para fazer calculo de correção monetária, vou olhar como fez nos outros para poder fazer a idéia da taxa selic que também está no banco central.

 

Toninho Nunes

  • Moderadores
Postado

Aproveitando, vi que fez o componente Cotação, creio que adicionar a taxa selic também ajudaria para fazer calculo de correção monetária, vou olhar como fez nos outros para poder fazer a idéia da taxa selic que também está no banco central.

 

Toninho Nunes

 

Por favor não misture os post, abra um novo tópico para novos assuntos, por favor, isso ajuda o fórum a ficar mais organizado e a informação ser encontrada mais facilmente.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 4 semanas depois ...
Postado (editado)

Olá Pessoal,

 

Voltando ao assunto do tópico e reabrindo, relatei que estava tendo problemas com o componente, descobri a origem do problema, na empresa temos dois links redudantes, o roteamento é feito por um link cisco que gerencia duas wan, mas já tinha aplicado regras de protocolo https para sair só por um modem, o engraçado que no componente do cnpjconsulta não faz chamada por https, pelo menos é o que internamente aparece, de alguma forma ele faz chamada por um modem e deve retornar por outra e acontece os erros de captcha e até mesmo de buscar o cnpj, peguei um cabo de rede e coloquei direto no notebook para acessar apenas por um modem, pronto, não deu mais nenhum erro, se tem como contornar isso no componente, aí já é uma situação atípica, vou fazer a regra para acessar o site da receita só por um modem.

 

Com certeza na troca de modem/ip, deve quebrar a session da consulta e não reconhecer mais, mesmo que não seja um protocolo de chamada https.

 

Antonio Carlos.

Editado por toninhonunes
  • 4 meses depois ...
Postado

Olá,

 

Só um aviso aos colegas, quem usa link com balanceamento de carga, o consultacnpj falha diversas vezes quando você possui dois links ou mais na rede, fica complicado redirecionar entradas e saída http na porta 80 só o site de consulta da receita, neste protocolo pode entrar e sair por qualquer wan na rede, já analisei o código da unit httpdsend.pas, mas sem sucesso para ver onde poderia saber porque ocorre o erro, só funciona 100% com um link.

 

Toninho Nunes

  • Curtir 1
  • 6 meses depois ...
  • Membros Pro
Postado

Bom dia pessoal, estou tendo o mesmo problema do nosso amigo Toninho, e em minha rede assim como em meus clientes não existem 2 modens. 

Será que alguém também está tendo este problema? 

Postado

Atualizei o AcbrCNPJ devido as mudanças na geração do capcha em PNG, está exibindo normalmente a imagem agora, no entanto não está retornando os dados do CNPJ consultado. Salvei o conteúdo retornado e as tags todas retornam vazias.

 

Gostaria de saber se mais alguém está com esse problema?

  • 3 semanas depois ...
Postado

Olá senhores.

A Receita disponibiliza a consulta do QSA... é possível através do ACBRConsultaCPNJ conseguir essas informações? Existe alguma previsão para alteração do componente e inclusão desta funcionalidade?

 

Obrigado.

  • Fundadores
Postado

2.2 - Permaneça no assunto - Quando tiver uma dúvida diferente do assunto no tópico, poste em novo tópico. Não use algo equivalente a "aproveitando o gancho... [dúvida não relacionada com o tópico aqui]".

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.

  • 1 mês depois ...
Postado
Uma gambiarra pro QSA... Acrescente no metodo de consulta após o cnae,..
 
 
        Resposta := Self.RespHTTP;
        FQSA := TStringList.Create;
        for I := 0 to Resposta.Count-1 do
        begin
          if Pos('Nome/Nome Empresarial', Resposta) > 0 then
          begin
            StrAux := Resposta[i+1];
 
            StrAux := ReplaceStr(StrAux, '<td width="300px" valign="top">', '');
            StrAux := ReplaceStr(StrAux, '</td>', '');
            StrAux := Trim(StrAux);
 
            StrAux2 := Resposta[i+6];
 
            StrAux2 := ReplaceStr(StrAux2, '<td width="300px" valign="top">', '');
            StrAux2 := ReplaceStr(StrAux2, '</td>', '');
            StrAux2 := Trim(StrAux2);
 
 
            FQSA.Add(StrAux + ' - ' + StrAux2);
          end;
        end;
  • 2 anos depois...
  • Este tópico foi criado há 2536 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.