zekasan Posted December 3, 2015 Report Share Posted December 3, 2015 Bom dia, alguma alma caridosa poderia me dizer como eu pego esta bendita imagem (www.ietpb.com.br) e a coloco em uma dialog? Já vasculhei em todo canto e não consegui, nadei e morri na praia. Esta imagem é gerada pelo link "http://www.ieptb.com.br/geracaptcha.php". Obrigado. Ronaldbuch 1 Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted December 4, 2015 Report Share Posted December 4, 2015 rsrs, não sei não, mas tem um exemplo que o Kapiaba fez para baixar o Zip com os resultados Mega Sena a partir da URL da caixa...talvêz te ajude a montar sua rotina amigo. abç Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 5, 2015 Author Report Share Posted December 5, 2015 Não é bem isso que eu preciso, o site http://www.ieptb.com.brmostra um captcha na página, preciso pegar este captcha e jogá-lo na minha dialog, para depois tratar a segunda página que vem com a pesquisa. Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted December 6, 2015 Report Share Posted December 6, 2015 Sugestão para estudo! DEFINE DIALOG oMapa SIZE 800, 490 ICON oIco; TITLE "IEPTB"; STYLE nOR(WS_SYSMENU,WS_MINIMIZEBOX,WS_MAXIMIZEBOX) oActivex := TActiveX():New(oMapa,"Shell.Explorer.2",0,0) oMapa:oClient := oActivex ACTIVATE DIALOG oMapa CENTERED ; ON INIT oActivex:Do("Navigate2","http://www.ieptb.com.br") oActivex:Destroy() oMapa:End() Return nil Quote Link to comment Share on other sites More sharing options...
Edu Posted December 6, 2015 Report Share Posted December 6, 2015 Boa tarde amigo! Aqui vai um exemplo que fiz pra baixar o captcha do website da NF-e. Creio que servirá pra você. ************************************************************************* FUNCTION BaixaCaptcha() * Funcao que baixa a imagem captcha LOCAL ErroNET:= .F. LOCAL cUrl, oPg, cBuf LOCAL cImage:= "" IF !IsInternet() MsgInfo("Equipamento sem conexão com a Internet") RETURN cImage ENDIF oPg:=CreateObject("Microsoft.XMLHTTP") cUrl:= "https://www.nfe.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image"// link da imagem oPg:Open("GET", cUrl, .F.) * Tenta enviar a requisicao Try oPg:Send() Catch oError ErroNET:=.T. End Try IF !ErroNET * obtem o retorno da requisicao cBuf := oPg:responseBody * grava o arquivo de imagem memowrit("./captcha.jpg", cBuf) cImage:= "./captcha.jpg" ELSE MsgInfo("Ocorreu um erro de conexão com o website da receita federal. Tente mais tarde.") ENDIF RETURN cImage Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Obrigado pelas sugestões, vamos fazendo um mixer e testando. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 8, 2015 Report Share Posted December 8, 2015 Sugestão para estudo! DEFINE DIALOG oMapa SIZE 800, 490 ICON oIco; TITLE "IEPTB"; STYLE nOR(WS_SYSMENU,WS_MINIMIZEBOX,WS_MAXIMIZEBOX) oActivex := TActiveX():New(oMapa,"Shell.Explorer.2",0,0) oMapa:oClient := oActivex ACTIVATE DIALOG oMapa CENTERED ; ON INIT oActivex:Do("Navigate2","http://www.ieptb.com.br") oActivex:Destroy() oMapa:End() Return nil Excelente idéia JMSILVA. Thanks. // CONSULTA PROTESTOS: 08/12/2015, AUTOR: JMSILVA Forum Fivewin Brasil. // http://fivewin.com.br/index.php?/topic/24376-captcha-isto-me-tira-do-serio/ #include "FiveWin.ch" MEMVAR oActiveX FUNCTION PROTESTOS() LOCAL cTitle, cSite, cEvents, oWnd IF ( !IsInternet() ) MsgInfo("Necessário conexão com a internet."+CRLF+"Operação cancelada","Informação") RETURN NIL ENDIF cEvents := "Vidal" cSite := ( "http://www.ieptb.com.br" ) cTitle := ( " ..::" + "| IEPTB - CONSULTA GRATUITA DE PROTESTO: CPF/CNPJ: " ) DEFINE WINDOW oWnd TITLE cTitle + cSite oActiveX = TActiveX():New( oWnd, "Shell.Explorer" ) oActivex:Silent := .T. // para nao gerar erro de scripts. oActivex:SetFocus() oWnd:oClient = oActiveX oActiveX:Navigate( cSite ) ACTIVATE WINDOW oWnd MAXIMIZED oWnd:End() Return nil Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 8, 2015 Report Share Posted December 8, 2015 Imagem: Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Obrigado pela ajuda, mas não se enquadra ainda no que eu preciso: Programa que está sendo desenvolvido: - Usuário digita o CNPJ ou CPF - O sistema verifica primeiramente no banco de dados interno se há alguma restrição para aquele cliente - Não havendo restrição ele irá procurar no www.ieptb.com.br se há algum protesto negativando o cliente - Caso não haja restrição ele irá depois na receita e no sintegra para verificar se ele está ativo. - Eu preciso que não mostre a página de cada www, vou entrar com o cnpj automaticamente em cada página, mostrando apenas o captcha de cada www em uma dialog minha. - Isto para agilizar o processo, semi-automatizando a pesquisa, porque o cliente pode estar na linha. Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 A imagem do captcha eu estou conseguindo puxar, porem qdo puxo esta imagem ela já é outra diferente da primeira chamada da página. Aí tá pegando. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 8, 2015 Report Share Posted December 8, 2015 Voce usa o programa do <Aferra>, SINTEGRA.PRG? Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Seria um próximo passo, caso consiga ultrapassar esta barreira (rsrsrs) Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 8, 2015 Report Share Posted December 8, 2015 Eu faço assim com o SINTEGRA.PRG do <Aferra>, agora falta por o botão: <Protestos> com o exemplo acima do JMSILVA. Abs. Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Legal, mas eu quero pular a página original de cada site, simplificar a consulta. Tem que ser uma consulta mais ágil. Encadeada dependendo da situação do cliente eu nem passo ao próximo passo. Já bloqueio ele logo de cara Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Tem algum método que eu consiga jogar o código abaixo para ser exibido dentro da minha dialog? e não na página do browser? Aí eu mataria uma fase do captcha. oIE1 := CreateObject('InternetExplorer.Application') oIE1:Visible := .t. oIE1:left := 0 oIE1:top := 0 oIE1:height := 180 oIE1:width := 260 oIE1:Visible := .T. oIE1:Navigate( "http://www.ieptb.com.br/geracaptcha.php") while( oIE1:ReadyState != 4 ) HB_IdleSleep( 0 ) end while Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 8, 2015 Report Share Posted December 8, 2015 você quer dizer mostrar o Captcha no dialogo, é isto? Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 8, 2015 Author Report Share Posted December 8, 2015 Exato, porém tem que usar com o CreateObject('InternetExplorer.Application'), senão ele não atualiza a página principal que esta o captcha, qdo vc usa o link ( "http://www.ieptb.com...eracaptcha.php") ele irá 'substituir' o captcha inicial. Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted December 9, 2015 Report Share Posted December 9, 2015 Amigo, se você conseguir vou dizer que "VOCÊ É O CARA!". Pesquisando descobri que para gerar esse código na imagem é usado algo do tipo: <?php session_start(); $codigoCaptcha = substr(md5( time()) ,0,9); $_SESSION['captcha'] = $codigoCaptcha; $imagemCaptcha = imagecreatefrompng("fundocaptch.png"); $fonteCaptcha = imageloadfont("anonymous.gdf"); $corCaptcha = imagecolorallocate($imagemCaptcha,255,0,0); imagestring($imagemCaptcha,$fonteCaptcha,15,5,$codigoCaptcha,$corCaptcha); header("Content-type: image/png"); imagepng($imagemCaptcha); imagedestroy($imagemCaptcha); ?> Depois de dar um SUBMIT no formulário é usado outro .php para validar o código. Portanto, é preciso não só saber de antemão qual é o código como também enviar isso via parâmetro para o .php validador capturar e validar. Até onde sei, só os administradores do site poderão fornecer essa informação, se isso for permitido. Só espero estar errado. Quote Link to comment Share on other sites More sharing options...
fladimir Posted December 9, 2015 Report Share Posted December 9, 2015 O legal seria DECODIFICAR o CAPTCHA se possível... O Lailton não tinha algo nesse sentido? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 14, 2015 Report Share Posted December 14, 2015 Jmsilva, Estão informando no PCToledo, que este site que você informou, não funciona. abs Quote Link to comment Share on other sites More sharing options...
zekasan Posted December 14, 2015 Author Report Share Posted December 14, 2015 Ele de vez em qdo demora prá responder Ronaldbuch 1 Quote Link to comment Share on other sites More sharing options...
toya Posted December 16, 2015 Report Share Posted December 16, 2015 O <bnpx/> decodifica o Captcha... Quote Link to comment Share on other sites More sharing options...
fladimir Posted December 20, 2015 Report Share Posted December 20, 2015 Como? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 21, 2015 Report Share Posted December 21, 2015 Até hoje não entendi como funciona o bnpx?? Aliás, o que significa: bnpx ?? Quote Link to comment Share on other sites More sharing options...
fladimir Posted December 21, 2015 Report Share Posted December 21, 2015 O Toya pode nos explicar melhor, mas se não estiver engando é um Aplicativo q ele criou pra fazer o Download do XML, resumidamente falando, q de alguma maneira consegue decifrar o Captcha, q é solicitado qdo informamos a chave da NFe ai "precisaria" do captcha tb e esta parte ele faz... Compartilhe conosco Toya como fez... Como diriam "O POVO QUER SABER" Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.