Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

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

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Parece ser uma instabilidade no Servidor da Receita...

 

Não há o que possa ser otimizado no ponto indicado....

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não sou o autor desse componente... somente com um passo a passo bem definido sobre como reproduzir o problema, seria possível investigar

  • Curtir 1
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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

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
Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

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
Link para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
  • 3 semanas depois ...
  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
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;
Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
  • Este tópico foi criado há 2315 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.

The popup will be closed in 10 segundos...