Ir para conteúdo
  • Cadastre-se

MVScarpelli

Membros
  • Total de ítens

    21
  • Registro em

  • Última visita

Posts postados por MVScarpelli

  1. Uma sugestão...

    Será que não conseguiríamos uma forma de ler o hCaptcha que aparece na página da receita ???image.png.6def487bf5a58c5a7d84cba7f6ddc1dc.png

    Há muitos anos atrás quando ainda programava em Delphi, tentei fazer fazer e não consegui.

    Será que nos unirmos poderíamos resolver esta questão???

    Se alguém tiver uma sugestão ou linha de raciocínio poderíamos pelo menos tentar.

     

    Forte abraço a todos

  2. Alguém tem alguma novidade sobre isto ????

    Só ocorre com sistemas desenvolvidos em Delphi.

    Comigo tem acontecido com meu computador de desenvolvimento, em dois computadores de um de meus cerca de 200 clientes e num cliente de um amigo meu.

    Nos dois computadores do meu cliente, isto acontece quando o Internet Explorer está aberto. Só fechar que imediatamente acaba o problema.

    No meu computador de desenvolvimento já fiz de tudo e não encontrei a causa.

    Lembrando que já formatei os equipamentos e fiz a instalação de todos os sistemas, um a um e nada de resolver.

    OBS: Todos os softwares são originais...

    Se alguém tiver mais alguma dica, eu agradeço...

  3. Por este motivo eu disse que estava com receio de alterar o ACBrSocket.

    Se for somente para resolver a questão do CNPJ, funciona certinho.

    Agora, com a alteração ou sem a alteração está funcionando das duas formas normalmente.

    Se precisar, estou a disposição para ajudar.

    Estou trabalhando numa consulta para o CEI do INSS.

    Já encontrei o link para consulta, mas estou apanhando muito para montar a consulta.

    Agradeço se alguém puder ajudar.

    Segue o link: http://www3.dataprev.gov.br/cws/contexto/captchar/index_salEmpresa2.html

    Atenciosamente...

    Marcus Vinicius Scarpelli

  4. O problema parou de ocorrer, mas enquanto estava ocorrendo alterei a seguinte procedure na parte em negrito do ACBrSocket:
    Obs: Quando estava dando erro fiz esta modificação e o erro parou. Mantive desta forma e o erro não ocorre mais nem desta forma e nem da outra que estava.

    procedure TACBrHTTP.HTTPMethod(Method, AURL: String);
    var
      OK : Boolean ;
      {$IFNDEF NOGUI}
       OldCursor : TCursor ;
      {$ENDIF}
       CT, Location : String ;
    begin
      {$IFNDEF NOGUI}
        {$IFDEF FMX}
        OldCursor := Screen.ActiveForm.Cursor ;
        Screen.ActiveForm.Cursor := crHourGlass;
        {$ELSE}
         OldCursor := Screen.Cursor ;
         Screen.Cursor := crHourGlass;
        {$ENDIF}
      {$ENDIF}
      try
        RespHTTP.Clear;
        fURL := AURL;

        {$IFDEF UNICODE}
         HTTPSend.Headers.Add('Accept-Charset: utf-8;q=*;q=0.7') ;
        {$ENDIF}

        if Assigned( OnAntesAbrirHTTP ) then
           OnAntesAbrirHTTP( AURL ) ;

        // DEBUG //
        //HTTPSend.Document.SaveToFile( 'c:\temp\HttpSend.txt' );

        HTTPSend.HTTPMethod(Method, AURL);

        while HTTPSend.ResultCode = 302 do
        begin
          Location := Trim(SeparateLeft( GetHeaderValue('Location:'), ';' ));

          //Mudança para problema de consulta da receita federal 23/06/2015
          if Method = 'GET' then
            AURL := 'http://www.receita.fazenda.gov.br' + Location
          else
            AURL := GetURLBasePath( AURL ) + Location;
          //--------------------------------------------------------------

          HTTPSend.Clear;
          HTTPSend.HTTPMethod('GET', AURL ) ;
        end ;

        OK := HTTPSend.ResultCode = 200;
        RespHTTP.LoadFromStream( HTTPSend.Document ) ;
        fURL := AURL;

        // DEBUG //
        //RespHTTP.SaveToFile('c:\temp\HttpResp.txt');
        //HTTPSend.Headers.SaveToFile('c:\temp\HeaderResp.txt');

        if ParseText then
          RespHTTP.Text := ACBrUtil.ParseText( RespHTTP.Text, True, False );

        // Verifica se a Resposta está em ANSI //
        CT := LowerCase( GetHeaderValue('Content-Type:') );
        RespHTTP.Text := DecodeToSys( RespHTTP.Text, (pos('utf-8', CT) > 0) );

        if not OK then
           raise EACBrHTTPError.Create( 'Erro HTTP: '+IntToStr(HTTPSend.ResultCode)+' '+
                                         HTTPSend.ResultString + sLineBreak +
                                         'URL: '+AURL + sLineBreak + sLineBreak +
                                         'Resposta HTTP:' + sLineBreak +
                                         String(AjustaLinhas( AnsiString(RespHTTP.Text), 80, 20) )) ;
      finally
        {$IFNDEF NOGUI}
        {$IFDEF FMX}
         Screen.ActiveForm.Cursor := OldCursor;
        {$ELSE}
         Screen.Cursor := OldCursor;
        {$ENDIF}
        {$ENDIF}
      end;
    end;

    Atenciosamente...

    Marcus Vinicius Scarpelli

     

  5. Preciso encontrar o endereço certo...

    Continua com problemas.

    Foi uma pequena mudança estrutural na página da receita.

    Nos componentes precisa alterar o ACBrSocket para dar certo, porém eu não sei se outros componentes usam as rotinas que tem que ser alteradas.

    Este é o meu problema.

    Quero continuar usando os componentes de forma alinhada com todos e não fazer algo personalizado para resolver somente meu problema.

    Atenciosamente...

    Marcus Vinicius Scarpelli

  6. Caros amigos,

    Aparentemente a Receita Federal mudou algo internamente para consultar o CNPJ, pois sempre que estou tentando consultar com o componente.

    Este problema está ocorrendo desde ontem dia 23/06/2015.

    Segue imagem do erro que ocorre ao consultar.

    Agradeço a atenção e peço ajuda para a solução...

    Erro.png

  7. Caro amigo Juliomar Marquetti,

     

    Observei o código com sua alteração e notei que o evento de Constructor OnCreate de TACBrConsultaCNPJ está da seguinte forma:

     

    constructor TACBrConsultaCNPJ.Create(AOwner: TComponent);
    begin
      inherited;
      FCNAE2 := TStringList.Create;
      FPesquisarIBGE := True;
      fACBrIBGE := TACBrIBGE.Create(nil);
    end;
     
    Será que isto não deveria estar como opcional para quem não usa esta consulta de cidades do IBGE ???
     
    No meu caso, para ser rápido eu alterei a linha FPesquisarIBGE := False;
     
    Mas não seria o caso de cada um tratar isto em seus códigos fontes e não ter que alterar a Unit ???
     
    Além de ter aqueles que não usam esta pesuisa, imagine se a consulta de cidade do IBGE esteja fora do ar.
     
    Desculpe, pois foi só uma sugestão. Estou tentando ajudar.
     
    A propósito, estou trabalhando numa rotina que buscará informações da empresa ou pessoa física a partir do CEI do INSS e assim que eu tiver algo posso compartilhar com todos aqui com forma de contribuir.
     
    Atenciosamente...
     
    Marcus Vinicius Scarpelli
  8. Caros amigos,

     

    No ACBr temos componente para buscar CNPJ e CPF, ambos na Receita Federal...

     

    Descobri um link que muita gente tem procurado para buscar os dados de um CEI no INSS: http://www3.dataprev.gov.br/cws/contexto/captchar/index_salEmpresa2.html

     

    Que tal tentarmos fazer um componente para consultar CEI???

     

    Acredito que estaremos colaborando para melhorar cada vez mais o projeto ACBr...

     

    Atenciosamente...

     

    Marcus Vinicius Scarpelli

  9. Esta parte resolvi com este procedimento:
     

    procedure TfrmPrincipal.LabAtualizarCaptchaClick(Sender: TObject);
    var
      Stream: TMemoryStream;
      ImgArq: String;
    begin
      Stream := TMemoryStream.Create;
      try
        ACBrConsultaCNPJ1.Captcha(Stream);
        ImgArq := ExtractFilePath(ParamStr(0))+PathDelim+'captch.png';
        Stream.SaveToFile( ImgArq );
        Image1.Picture.LoadFromFile( ImgArq );
     
        EditCaptcha.Clear;
        EditCaptcha.SetFocus;
      finally
        Stream.Free;
      end;
    end;
  10. Caros amigos,

     

    Primeira parte do problema era a exibição do Captcha sem dar erro e resolvi desta forma:

     

    procedure TACBrConsultaCNPJ.Captcha(Stream: TStream);
    var
      Img64, ImgBin, DataClientID: AnsiString;
      P: Integer;
    begin
      try
        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;
     
     
    Antes estava assim:
     
    procedure TACBrConsultaCNPJ.Captcha(Stream: TStream);
    var
      Img64, ImgBin, DataClientID: AnsiString;
      P: Integer;
    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;
     
     
    Na rotina de consulta deve estar da mesma forma ue a usada na Consulta CPF e, para isto, basta olhar o exemplo de consulta CPF.
     
     
    Por fim estou tentando resolver a parte de consulta, mas até agora não consegui progredir em nada.
     
    Espero ter ajudado a dar um caminho para iniciarmos uma solução final.
     
    Atenciosamente...
     
    Marcus Vinicius Scarpelli
    • Curtir 1
  11. Caros amigos,

     

    Primeira parte do problema era a exibição do Captcha sem dar erro e resolvi desta forma:

     

    procedure TACBrConsultaCNPJ.Captcha(Stream: TStream);
    var
      Img64, ImgBin, DataClientID: AnsiString;
      P: Integer;
    begin
      try
        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;
     
     
    Antes estava assim:
     
    procedure TACBrConsultaCNPJ.Captcha(Stream: TStream);
    var
      Img64, ImgBin, DataClientID: AnsiString;
      P: Integer;
    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;
     
     
    Na rotina de consulta deve estar da mesma forma ue a usada na Consulta CPF e, para isto, basta olhar o exemplo de consulta CPF.
     
     
    Por fim estou tentando resolver a parte de consulta, mas até agora não consegui progredir em nada.
     
    Espero ter ajudado a dar um caminho para iniciarmos uma solução final.
     
    Atenciosamente...
     
    Marcus Vinicius Scarpelli
  12. Boa tarde meus amigos...

    Estou tentando resolver um problema com a Consulta do CNPJ do ACBr quando trás o CNAE2.

    Tem uma situação em que o CNAE Segundário da receita aparece uma lista e o componente só trás um.

    Veja que estou falando do CNAE2 e não do CNAE1.

    Segue um exemplo de CNPJ que tem esta lista de CNAE2 para vcs entenderem melhor: 00.063.960/0046-00

    Se tiverem alguma dica ou alguma solução já no componente e puderem compartilhar, eu agradeço...

     

    Marcus Vinicius Scarpelli

     

    post-11661-0-68432400-1415208210_thumb.j

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