![]() |
Completar datos de un formulario web de forma no visual
Hola amigos, mucho tiempo sin escribir en el foro, lamentablemente los proyectos personales y la flia no me dejan mucho tiempo libre. Hasta poca programación :(
Pero aca estoy de vuelta para consultarles una cosa :D Estoy intentando obtener información de una pagina web, pero para esto debo completar un formulario y tomar los datos de la pagina resultante. Para dar una idea, en la pagina de Google, intento completar el cuadro de busqueda, apretar el boton buscar, y obtener la pagina resultante. Estuve viendo algunos post de la pagina, y logre hacerlo con el componente WebBrowser, funciona muy bien. Pero como en realidad no me interesa que valla mostrando nada de lo que el programa procesa, queria buscar otro componente, clase o metodo no visual para lograr el mismo resultado. Probé con el componente TIdHTTP puedo capturar las paginas pero no se como se puede hacer para pasarle los datos, y apretar el boton, o simularlo de alguna forma. Alguna idea? |
Primero necesitas saber un par de cosas sobre el formulario. Revisa el código fuente de la pagina que lo contiene y busca algo como esto:
Código:
<FORM action="http://www.sitio.com/pagina" method="post"> Código:
<form action=/search name=f> Código:
http://www.google.es/search?hl=es&q=Hola&btnG=B%C3%BAsqueda+en+Google&meta= En el caso de que el método fuese POST se haría de forma similar solo que lo que aquí enviamos a la derecha del ? en la URL ahora lo tenemos que enviar como "cuerpo" de la petición http. Esto lo podemos hacer con Indy y wininet, entre otros. Entonces lo que sacamos en limpio es que primero tienes que saber el método GET o POST, luego necesitas saber la dirección a la que se enviara la información (action) y por ultimo el nombre y tipo de cada uno de los campos. Una vez que sepas eso ya podemos meternos mas a fondo en el asunto. |
Exelente, esta es la información que estaba necesitando :) . Muchas gracias, ahora mismo me pongo a probarlo y comento el resultado (si el enano que tengo aca a lado me deja :D)
|
Cita:
|
Una manera sencilla de hacerlo es como explica el compañero dec en el truco 346, utilizando los componentes Indy. Si no quieres complicarte mucho es la que te recomiendo.
Si quieres hacerlo mas difícil puedes usar Wininet, seria algo así:
|
La franja horaria es GMT +2. Ahora son las 07:23:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi