Enivar dados para um site .
Olá amigos do fórum .
É o seguinte , onde eu trabalho , tem um sistema de gerenciamento de despachante , que é feito em Delphi , mas que infelizmente não tem codigo fonte . Nesse sistema tem um recurso muito interessante , e que eu gostaria de saber como faz . Num determinado fom desse programa , percebi que se tem o seguinte componente : 1 - Edit , 1 - Button e 1 - WebBrowser . Existe na Net um site do governo , pra acesso livre , que tem a seguinte url : www3.fazenda.sp.gov.br/ipva2004 , nele tem um campo texto e um botão , neste campo texto , colocamos o número do renavam do veículo e clicamos no botao para consultar os debitos do mesmo . O que o programa aqui do escritório faz e o seguinte , quando eu digito no Edit o renavam e clico no button , ele abre esse site no WebBrowser , só que com a pesquisa já feita . Isto é , ele pega o numero do renvam que eu digitei no edit 1 e manda pra esse site e já ´clica´ no botão que tem no site , aí a página que aparece com os dados do veículo , já vem no Web Browser .
Agradeço muito a ajuda de vocês !
Valeuuuuuuu !
É o seguinte , onde eu trabalho , tem um sistema de gerenciamento de despachante , que é feito em Delphi , mas que infelizmente não tem codigo fonte . Nesse sistema tem um recurso muito interessante , e que eu gostaria de saber como faz . Num determinado fom desse programa , percebi que se tem o seguinte componente : 1 - Edit , 1 - Button e 1 - WebBrowser . Existe na Net um site do governo , pra acesso livre , que tem a seguinte url : www3.fazenda.sp.gov.br/ipva2004 , nele tem um campo texto e um botão , neste campo texto , colocamos o número do renavam do veículo e clicamos no botao para consultar os debitos do mesmo . O que o programa aqui do escritório faz e o seguinte , quando eu digito no Edit o renavam e clico no button , ele abre esse site no WebBrowser , só que com a pesquisa já feita . Isto é , ele pega o numero do renvam que eu digitei no edit 1 e manda pra esse site e já ´clica´ no botão que tem no site , aí a página que aparece com os dados do veículo , já vem no Web Browser .
Agradeço muito a ajuda de vocês !
Valeuuuuuuu !
Tiagojmilam
Curtidas 0
Respostas
Skywalker
28/06/2004
voce tem um renavam valido para que eu possa consultar pelo site?
GOSTEI 0
Tiagojmilam
28/06/2004
Tenho , tente este : 520745507
GOSTEI 0
Tiagojmilam
28/06/2004
Galera , quem descobrir esse ENIGAMA por favor , se puder mandar um exemplo no meu e-mail = tiagojmilam@bol.com.br , ou me explicar passo a passo , pois eu sou daqueles , iniciantes , que não entedem muito bem explicações complexas . :wink:
Agradeço muito , mesmo ...
Obrigado !
Agradeço muito , mesmo ...
Obrigado !
GOSTEI 0
Tiagojmilam
28/06/2004
Galera , será que existe componente pra fazer isto ?
É Urgente ...........
Valeuuuuuu.
É Urgente ...........
Valeuuuuuu.
GOSTEI 0
Mavinet
28/06/2004
Grande TiagoJmilam,
O que vc terá de fazer não é tão simples, mas é fácil.
Basta mapear o site, ou seja saber onde está o botão e o edit. Sabendo as cordenadas desses objetos, basta simular o clique do mouse e teclado passando as coordenadas...
exemplo:
{Simula o evento do teclado, onde $41 é a tecla ASCII correspondente a letra A}
keybd_event($41, $45, KEYEVENTF_EXTENDEDKEY or 0, 0);
{Simula o evento do mouse, onde pt.x e pt.y são as coordenadas do objeto que você quer clicar em cima}
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0); // Pressiona
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0); // Solta
Qualquer dúvida entra em contato comigo por email, que estarei te ajudando sempre que possível, ok?
Já eu estou com um problema parecido, que apenas a simulação do mouse e teclado não bastam para resolver o problema. Estarei postando a seguinte mensagem ainda hoje no forum:
Pessoal,
Estou precisando fazer mais de 15.000 cadastros e alterações dos
usuários no site do cliente, só que não tenho mão de obra
pra isso,
então pensei em fazer um ´robozinho´ que pegasse essas
informações
no meu banco de dados e fizesse o cadastro automaticamente. Ou seja
preciso saber, como fazer para pegar esse método do cadastro do
site
e chama-lo a partir da minha aplicação passando os parâmetros
necessários para o cadastro.
Exemplo:
- No evento do botão: criar uma rotina que chame o método de
autenticação da BOL, e abrir a página do meu email já logado.
Já fiz vários testes com o componente Indy, mas não estou
acertando
o alvo. Preciso da ajuda de todos, mesmo que não saiba
completamente
como resolver o problema, qualquer ajuda será bem vinda.
Obs: não tenho acesso ao servidor do cliente, nem ao código
fonte do
site, apenas acesso o site com meu browser.
Obrigado a todos.
O que vc terá de fazer não é tão simples, mas é fácil.
Basta mapear o site, ou seja saber onde está o botão e o edit. Sabendo as cordenadas desses objetos, basta simular o clique do mouse e teclado passando as coordenadas...
exemplo:
{Simula o evento do teclado, onde $41 é a tecla ASCII correspondente a letra A}
keybd_event($41, $45, KEYEVENTF_EXTENDEDKEY or 0, 0);
{Simula o evento do mouse, onde pt.x e pt.y são as coordenadas do objeto que você quer clicar em cima}
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0); // Pressiona
Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0); // Solta
Qualquer dúvida entra em contato comigo por email, que estarei te ajudando sempre que possível, ok?
Já eu estou com um problema parecido, que apenas a simulação do mouse e teclado não bastam para resolver o problema. Estarei postando a seguinte mensagem ainda hoje no forum:
Pessoal,
Estou precisando fazer mais de 15.000 cadastros e alterações dos
usuários no site do cliente, só que não tenho mão de obra
pra isso,
então pensei em fazer um ´robozinho´ que pegasse essas
informações
no meu banco de dados e fizesse o cadastro automaticamente. Ou seja
preciso saber, como fazer para pegar esse método do cadastro do
site
e chama-lo a partir da minha aplicação passando os parâmetros
necessários para o cadastro.
Exemplo:
- No evento do botão: criar uma rotina que chame o método de
autenticação da BOL, e abrir a página do meu email já logado.
Já fiz vários testes com o componente Indy, mas não estou
acertando
o alvo. Preciso da ajuda de todos, mesmo que não saiba
completamente
como resolver o problema, qualquer ajuda será bem vinda.
Obs: não tenho acesso ao servidor do cliente, nem ao código
fonte do
site, apenas acesso o site com meu browser.
Obrigado a todos.
GOSTEI 0
Rômulo Barros
28/06/2004
Uses
ShellApi
Adicione um edit e um botão no seu form:
:arrow: [color=red:109e858640]Basta saber qual é o action do form do site (form method = post name =frmRenavam action = Res5.asp) e o nome do Input type text (renavam), passando assim como parâmetro (?)[/color:109e858640]
:wink: :wink: :wink: :wink:
ShellApi
Adicione um edit e um botão no seu form:
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Application.Handle, nil, PChar(´http://www3.fazenda.sp.gov.br/ipva2004/Res5.asp?renavam=´+Edit1.Text), nil, nil, SW_SHOWNORMAL); end; end.
:arrow: [color=red:109e858640]Basta saber qual é o action do form do site (form method = post name =frmRenavam action = Res5.asp) e o nome do Input type text (renavam), passando assim como parâmetro (?)[/color:109e858640]
:wink: :wink: :wink: :wink:
GOSTEI 0
Zlink
28/06/2004
Utilizei o mesmo metódo, agora eu gostaria de saber como pegar o conteudo do retorno do site.
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Application.Handle, nil, PChar(https://consulta.equifax.com.br/c_remota_nova.asp?StrCons=03984794317039487), nil, nil, SW_SHOWNORMAL);
end;
com isto o site da equifax processa esta consulta e retorna uma string assim no brouwse
OmniStr@0032@0131427319472@02345092004@034300831JOSE RICARDO HONORIO FERNANDES
como jogar numa edit, o retorno retornado pelo site (browse)
obs, ele retorna apenas txt, melhor ainda.
Ricardo
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Application.Handle, nil, PChar(https://consulta.equifax.com.br/c_remota_nova.asp?StrCons=03984794317039487), nil, nil, SW_SHOWNORMAL);
end;
com isto o site da equifax processa esta consulta e retorna uma string assim no brouwse
OmniStr@0032@0131427319472@02345092004@034300831JOSE RICARDO HONORIO FERNANDES
como jogar numa edit, o retorno retornado pelo site (browse)
obs, ele retorna apenas txt, melhor ainda.
Ricardo
GOSTEI 0
Rômulo Barros
28/06/2004
Coloque o componente idHTTP q está na paleta ´Indy Clients´.
Basta colocar:
:wink: :wink: :wink: :wink: :wink:
Basta colocar:
Edit1.Text := IdHTTP1.Get(´https://consulta.equifax.com.br/c_remota_nova.asp?StrCons=03984794317039487´);
:wink: :wink: :wink: :wink: :wink:
GOSTEI 0
Zlink
28/06/2004
Coloquei o componente idHTTP, um edit1.text e um button1.
No onclick do button1 coloqueio o código indicado abaixo:
Edit1.Text := IdHTTP1.Get(´https://consulta.equifax.com.br/c_remota_nova.asp?StrCons=03984794317039487´);
Mais dá o seguinte erro:
Project Consulta.exe raised exception class EIdIOHandlerPropInvalid with message
´IOHandler value is not valid´. Process stopped. Use Step o Run to continue.
Dá para resolver esse erro
No onclick do button1 coloqueio o código indicado abaixo:
Edit1.Text := IdHTTP1.Get(´https://consulta.equifax.com.br/c_remota_nova.asp?StrCons=03984794317039487´);
Mais dá o seguinte erro:
Project Consulta.exe raised exception class EIdIOHandlerPropInvalid with message
´IOHandler value is not valid´. Process stopped. Use Step o Run to continue.
Dá para resolver esse erro
GOSTEI 0
Marcosrocha
28/06/2004
Mas e se eu tivesse uma página com login e senha??? Como eu faria pra enviar valores pras duas variáveis??? Ou como preencher os campos na página da Web pelo Delphi???
GOSTEI 0
Massuda
28/06/2004
Mas e se eu tivesse uma página com login e senha??? Como eu faria pra enviar valores pras duas variáveis??? Ou como preencher os campos na página da Web pelo Delphi???
Experimente dar uma olhada [url=http://forum.clubedelphi.net/viewtopic.php?t=55935]neste tópico do fórum[/url].GOSTEI 0
Marcosrocha
28/06/2004
Não sei trabalhar com o Indy!!! Qual a rotina exata pra encontrar o campo de Login e Senha, passar os valores e executar a ação do Form??? :cry:
GOSTEI 0
Massuda
28/06/2004
...Qual a rotina exata pra encontrar o campo de Login e Senha...
Você precisa analisar o código HTML da página e determinar isso, pois não existe modo fácil de fazer isso programaticamente....passar os valores e executar a ação do Form???
Novamente, você precisa analisar o código HTML da página e determinar se o método utilizado para passagem dos dados é GET ou POST; normalmente formulários usam POST.GOSTEI 0