Clipper On Line • Ver Tópico - Consulta optante do simples online

Consulta optante do simples online

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Consulta optante do simples online

Mensagempor Daniel » 19 Fev 2016 15:44

Ola pessoal, gostaria da ajuda de vocês para tentar fazer esta consulta, só falta enviar os dados para o site,
tentei mais não estou conseguindo

#include "minigui.ch"
#include "directry.ch"
#include "Fileio.ch"
#include "xhb.ch"
**********************************************
FUNCTION Main()
   Public cUrl := "http://www8.receita.fazenda.gov.br/simplesnacional/aplicacoes/atbhe/consultaoptantes.app/consultaropcao.aspx?"
   Public cUrlC:= "http://www8.receita.fazenda.gov.br/simplesnacional/aplicacoes/atbhe/consultaoptantes.app/Captcha/Inicializa.ashx"
   Public cCaptcha, cCnpj, cStringCookie, cViewState, cEeventValidation, cHiddenField

   LOAD WINDOW F_Simples
   Captcha()
   F_Simples.Center
   F_Simples.Activate

***********************************************
Function Consulta()
   cCaptcha:= F_Simples.text_2.Value
   cCnpj   := Tira_Mascara(F_Simples.text_1.value)

   oHttp:=TipClientHttp():new( cURL )
   oHttp:open()
   cHtml := oHttp:readAll()
   oHttp:close()
   memowrit('site.txt', cHtml)
   nIni:= At('id="__VIEWSTATE" value=',  cHtml) + 24
   cHtml1:= SubStr( cHtml, nIni)
   nFim:= At(' />', cHtml1) - 1
   cViewState:= SubStr(cHtml, nIni, nFim)

   nIni1:= At('id="__EVENTVALIDATION" value="',  cHtml) + 30
   cHtml1:= SubStr( cHtml, nIni1)
   nFim1:= At(' />', cHtml1) - 1
   cEeventValidation:= SubStr(cHtml, nIni1, nFim1)

   nIni2:= At('ctl00$ContentPlaceHolderConteudo$',  cHtml) + 33
   cHtml1:= SubStr( cHtml, nIni2)
   nFim2:= At('" type="text"', cHtml1) - 1
   cHiddenField:= SubStr(cHtml, nIni2, nFim2)

    cRet:= MicrosoftPost()
    F_Simples.Edit_1.Value:= cRet
    Return Nil

***************************************
Function Captcha()

   oHttp:=TipClientHttp():new( cURLc )
   oHttp:open()
   cHtml := oHttp:readAll()
   oHttp:close()
   memowrit('sitec.txt', cHtml)
   nIni1:= At('"Token":',  cHtml) + 7
   nFim1:= At('","Dados"', cHtml) - nIni1
   cStringCookie:= SubStr(cHtml, nIni1, nFim1)
   nIni:= At('Dados":"',  cHtml) + 8
   nFim:= At('","ContentType"', cHtml) - nIni
   txt_file:=fcreate("captcha.png", 0)
   if (!(ferror() = 0))
      MsgInfo("Erro de criacao do arquivo TESTE.TXT ::> " + ;
      Str(ferror(), 3, 0))
      quit
   endif
   cFile:= SubStr(cHtml, nIni, nFim)
   cFile:= hb_base64Decode(cFile, "image/png")
   fwrite(txt_file, cFile)
   fclose(txt_file)
   SetProperty ('F_Simples', 'image_1', 'Picture', 'Captcha.png')
   Return Nil

***************************************
Function Tira_Mascara(arg)
Local arg1:= "", x

   For x:= 1 To Len(arg)
      If SubStr(arg, x, 1) != "/"
         If SubStr(arg, x, 1) != "."
            If SubStr(arg, x, 1) != "-"
               If SubStr(arg, x, 1) != "("
                  If SubStr(arg, x, 1) != ")"
                     If SubStr(arg, x, 1) != " "
                        arg1+= SubStr(arg, x, 1)
                     EndIf
                  EndIf
               EndIf
            EndIf
         EndIf
      EndIF
   Next x
   Return(AllTrim(arg1))

***************************************
Function TrocaUtf8(cTexto)

cTexto := StrTran( cTexto, "/", "%2F" )
cTexto := StrTran( cTexto, "=", "%3D" )

Return cTexto
***************************************
Function MicrosoftPost()
   LOCAL oServer, cRetorno := "*ERRO*", cMsgErro:= ''

   cParm:= [__EVENTTARGET%3D&] + ;
           [__EVENTARGUMENT%3D&] + ;
           [__VIEWSTATE%3D] +  TrocaUtf8(cViewState) + ;
           [&__EVENTVALIDATION%3D] + TrocaUtf8(cEeventValidation) + ;
           [&ctl00%24ContentPlaceHolderConteudo%24] + cHiddenField + [%3D] + cCnpj + ;
           [&ctl00%24ContentPlaceHolderConteudo%24HiddenField1%2F] + cHiddenField + ;
           [&ctl00%24ContentPlaceHolderConteudo%24hddServidorCaptcha%3D] + 'pro' + ;
           [&ctl00%24ContentPlaceHolderConteudo%24txtTexto_captcha_serpro_gov_br%3D] + cCaptcha + ;
           [&ctl00%24ContentPlaceHolderConteudo%24btnConfirmar%3D] + 'Consultar'

   TRY
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
   CATCH
      cMsgErro:= "Serviço não mapeado"
      RETURN(cMsgErro)
   END
   TRY
       oServer:Open( "POST", cUrl , .F. )
       oServer:SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
      oServer:SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
        oServer:SetRequestHeader("Accept-Encoding", "gzip, deflate" )
        oServer:SetRequestHeader("Accept-Language", "pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3")
        oServer:SetRequestHeader("Connection", "keep-alive")
        oServer:SetRequestHeader("Cookie", "captcha_token=" +  cStringCookie)
        oServer:SetRequestHeader("Host", "www8.receita.fazenda.gov.br")
//       oServer:SetRequestHeader("Referer", "http://www8.receita.fazenda.gov.br/SimplesNacional/Aplicacoes/ATBHE/ConsultaOptantes.app/ConsultarOpcao.aspx")
        oServer:SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36")
   CATCH
        RETURN('Erro no open')
   END
   TRY
   //msgInfo(cUrl+cParm)
      oServer:send(cParm)
      oServer:WaitForResponse( 500 )
   CATCH
      cMsgErro:= "Erro ao criar"
      RETURN(cMsgErro )
   END
   cRetorno:= (oServer:ResponseText() + cMsgErro)
   HB_MemoWrit("Reposta.txt", cRetorno, .f. )
     RETURN(cRetorno)
/*
parte do site pelo firebug
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,* /*;q=0.8
Accept-Encoding
gzip, deflate
Accept-Language
pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
Connection
keep-alive
Content-Type
application/x-www-form-urlencoded
Cookie
captcha_token=45615119762207542432998174142126158180112212181911714386
Host
www8.receita.fazenda.gov.br
Referer
http://www8.receita.fazenda.gov.br/simplesnacional/aplicacoes/atbhe/consultaoptantes.app/consultaropcao
.aspx?__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTI4MDEzODYyMg9kFgJmD2QWAgIDD2QWAgICD2QW
AgIDD2QWBAIBD2QWAgIDDw8WAh4RQ29udHJvbFRvVmFsaWRhdGUFEjYzNTkxMzI1NzgwNDY5MzQ4OGRkAgMPDxYCHgdWaXNpYmxl
aGQWCAITD2QWBAIDDzwrABEBARAWABYAFgBkAgcPPCsAEQEBEBYAFgAWAGQCGQ9kFgICAw88KwARAQEQFgAWABYAZAIfD2QWAgID
DzwrABEBARAWABYAFgBkAiUPZBYCAgMPPCsAEQEBEBYAFgAWAGQYBQU7Y3RsMDAkQ29udGVudFBsYWNlSG9sZGVyQ29udGV1ZG8k
Z3JkUGVyaW9kb3NBbnRlcmlvcmVzU0lNRUkPZ2QFOmN0bDAwJENvbnRlbnRQbGFjZUhvbGRlckNvbnRldWRvJGdyZEFnZW5kYW1l
bnRvc09wY2FvU2luYWMPZ2QFOWN0bDAwJENvbnRlbnRQbGFjZUhvbGRlckNvbnRldWRvJEdyaWRWaWV3T3Bjb2VzQW50ZXJpb3Jl
cw9nZAUyY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyQ29udGV1ZG8kZ3JkRXZlbnRvc0Z1dHVyb3MPZ2QFN2N0bDAwJENvbnRlbnRQ
bGFjZUhvbGRlckNvbnRldWRvJGdyZEV2ZW50b3NGdXR1cm9zU2ltZWkPZ2T920T0GuCQkl8xdxBEk0zVBiLNY06JbOckBYKTOSNRsQ
%3D%3D&__EVENTVALIDATION=%2FwEWBgLc6fWoAgL89J3qBALm7oLoAQK03OyQCwKI9eioCgLDwpOgAaQZXvAsQIyYcxZ4x%2FcSIf5qFytGdIkWWT
%2BCwr38M2bm&ctl00%24ContentPlaceHolderConteudo%24635913257804693488=02351488000127&ctl00%24ContentPlaceHolderConteudo
%24HiddenField1=635913257804693488&ctl00%24ContentPlaceHolderConteudo%24hddServidorCaptcha=pro&ctl00
%24ContentPlaceHolderConteudo%24txtTexto_captcha_serpro_gov_br=uztgyg&ctl00%24ContentPlaceHolderConteudo
%24btnConfirmar=Consultar
User-Agent
Mozilla/5.0 (Windows NT 10.0; rv:44.0) Gecko/20100101 Firefox/44.0

RETURN( NIL ) */


*HMGS-MINIGUI-IDE Two-Way Form Designer Generated Code
*OPEN SOURCE PROJECT 2005-2015 Walter Formigoni http://sourceforge.net/projects/hmgs-minigui/

DEFINE WINDOW TEMPLATE AT 198 , 274 WIDTH 597 HEIGHT 300 TITLE 'Consulta Optante do Simples' MAIN

     DEFINE LABEL Label_1
            ROW    10
            COL    30
            WIDTH  40
            HEIGHT 15
            VALUE "CNPJ"
     END LABEL

     DEFINE TEXTBOX Text_1
            ROW    30
            COL    30
            WIDTH  160
            HEIGHT 30
            FONTNAME 'Arial'
            FONTSIZE 12
            INPUTMASK "99.999.999/9999-99"
     END TEXTBOX

     DEFINE LABEL Label_2
            ROW    10
            COL    200
            WIDTH  55
            HEIGHT 15
            VALUE "Captcha"
     END LABEL

     DEFINE TEXTBOX Text_2
            ROW    30
            COL    200
            WIDTH  120
            HEIGHT 30
            FONTNAME 'Arial'
            FONTSIZE 12
            MAXLENGTH 6
     END TEXTBOX

     DEFINE IMAGE Image_1
            ROW    30
            COL    330
            WIDTH  180
            HEIGHT 50
     END IMAGE

     DEFINE EDITBOX Edit_1
            ROW    100
            COL    20
            WIDTH  550
            HEIGHT 140
            VALUE ''
            FONTNAME 'Arial'
            MAXLENGTH  NIL
     END EDITBOX

     DEFINE BUTTON Button_1
            ROW    70
            COL    160
            WIDTH  100
            HEIGHT 28
            CAPTION "Consultar"
            FONTNAME 'Arial'
            ACTION { || Consulta()}
     END BUTTON

END WINDOW
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor Daniel » 26 Fev 2016 12:33

Ufa ate que fim funcionou
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor HASA » 26 Fev 2016 17:23

:-o
Olá Daniel, fiquei interessado por sua pesquisa, o fonte apresentado aqui está ok.
:)Pos
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

Consulta optante do simples online

Mensagempor JoséQuintas » 26 Fev 2016 19:55

Interessante.
Pelo que entendi, o link de consulta recebe a foto codificada e mais o texto digitado.
O truque é trocar a foto por outra já conhecida, com texto digitado já conhecido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Consulta optante do simples online

Mensagempor Daniel » 27 Fev 2016 21:26

Hasa
nao o apresentado ai estava case proto, agora terminei ele,
e estou tentando a consulta do cnpj, este esta mais dificil pois tem que pegar os cookies
Anexos
Simples.rar
Para testar Consulta Cnpj e Simple
(1.35 MiB) Baixado 537 vezes
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor fladimir » 01 Mar 2016 08:45

Daniel não entendi...

Vc postou um código com uma dificuldade depois relatou q funcionou...

Qual era o problema então?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Consulta optante do simples online

Mensagempor Daniel » 02 Mar 2016 11:05

Fladimir o erro era no script de envio estava usando variável tipo texto
ai troquei para vetor ai funcionou
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor Wanderlei » 02 Mar 2016 13:37

OI Daniel, posta o exemplo corrigido aqui
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar de usuário

Wanderlei
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 25 Jan 2008 12:19
Cidade/Estado: Goiânia - GO
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Consulta optante do simples online

Mensagempor HASA » 02 Mar 2016 17:28

:))
Wanderlei o post está acima ok. Ainda não testei, mas... acho que é este com o SIMPLES.RAR
:)Pos
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

Consulta optante do simples online

Mensagempor fladimir » 02 Mar 2016 22:18

HASA ... o RAR contém os EXE funcionais... a questão é sobre a correção no código... o Daniel respondeu acima... agora tem q testar a resposta.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Consulta optante do simples online

Mensagempor HASA » 03 Mar 2016 11:12

:-O
Vixi, então aguardo também... estou na correria com outras obrigações e por isso nem abri o RAR.
:-o
HASA
Avatar de usuário

HASA
Colaborador

Colaborador
 
Mensagens: 1082
Data de registro: 01 Set 2003 19:50
Cidade/Estado: São Paulo
Curtiu: 1 vez
Mens.Curtidas: 51 vezes

Consulta optante do simples online

Mensagempor fladimir » 11 Mar 2016 23:53

????
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Consulta optante do simples online

Mensagempor Daniel » 22 Mar 2016 16:05

Ola depois de alguns teste parece que esta funcionando blz
só a consulta do Cnpj que enrosca de vezes em quanto
segue os arquivos fontes
Anexos
ConsultaSimplesCnpj.rar
Arquivos fontes
(14.42 KiB) Baixado 828 vezes
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Avatar de usuário

Daniel
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 13 Ago 2003 22:42
Cidade/Estado: Apucarana - PR
Curtiu: 0 vez
Mens.Curtidas: 36 vezes

Consulta optante do simples online

Mensagempor Wanderlei » 26 Abr 2016 11:07

Bom Dia Daniel,
Consegui colocar sua função dentro do meu sistema para pegar os dados da empresa, será que vc consegui fazer este mesmo esquema para pegar os dados pelo CPF?
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar de usuário

Wanderlei
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 25 Jan 2008 12:19
Cidade/Estado: Goiânia - GO
Curtiu: 13 vezes
Mens.Curtidas: 5 vezes

Consulta optante do simples online

Mensagempor janio » 26 Abr 2016 11:17

Wanderlei,

Vc pode disponibilizar como vc fez?

Como vc pegou os dados no .html?

Vc usa MiniGUI ou HwGUI? Se hwgui, como vc fez pra exibir o captcha (.png)?

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro