![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Wenas.
Vi este hilo y me intereso el tema de poder sacar información directamente de una Web. Hice pruebas con los ejemplos que pusisteis y funcionaban perfectamente. (incluso poniendo parámetros para hacer las búsquedas, no sabia que se podía hacer) Ahora llega mi problema: Llevo una temporada jugando al Travian (juego por Web de gestionar los recursos de tu aldea y hacer soldados, como un civilization pero mas sencillito y en Web). Tiene una opción de sacar un pequeño mapa de tu zona con tu aldea en el centro y poder ver las aldeas que tienes mas cercanas. Además puedes ver algo de información de las aldeas vecinas. Esta seria la información que me interesaría para sacar unas estadísticas. Ya he visto la estructura del html y creo que no tendré problemas para coger esos datos. El problema es que para entrar en la Web me pide usuario y password y no consigo pasar de ahí al usar vuestro ejemplos (cambiando los parámetros por supuesto, poniendo mi usuario y mi password). (creo que tal vez sea algo de las cookies pero no se entrar en ese tema) He creado una aldea de pruebas por si queréis ver como es la web y los datos pide. Web: http://s3.travian.net/login.php Usuario: prueba_roger Password: 12345678 procedure TForm1.Button2Click(Sender: TObject); var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try { add the used parameters for the script } data.AddFormField('e7a9175','prueba_roger'); data.AddFormField('e9cb9d1','12345678'); Memo1.Lines.Text := IdHTTP1.Post('http://s3.travian.net/dorf1.php', data); finally data.Free; end; end; Un Saludo, Roger. |
|
#2
|
||||
|
||||
|
Hola,
Mirando un poco por encima el código HTML de la página que comentas, para empezar, se incluyen más campos además del "login" y el "password", aunque, ciertamente, no sé si estos serán "obligatorios" para una correcta autentificación. Por otro lado, alguno de los campos que digo que se incluyen (aunque ocultos al usuario) tienen un valor aleatorio, es decir, parece que no siempre es el mismo, incluso los propios campos "login" y "password" tienen nombres un tanto extraños, da la impresión que acaso también aleatorios. Todo esto puede ser para complicar el login a usuarios, precisamente, que traten de hacerlo desde fuera de la página Web, es decir, justo lo que tratas de conseguir tú. No sé. Tal vez no, tal vez sea por otro motivo que se nos escape. No sé... sería cuestión de hacer una serie de pruebas,... y a lo peor no tener el éxito esperado, claro. |
|
#3
|
||||
|
||||
|
Además, creo que se usan cookies. ¿Indy maneja las cookies?
|
|
#4
|
||||
|
||||
|
Hola,
Sí; creo que Indy cuenta con componentes para manejar las Cookies, empero, no sé si en este caso se trata de esto, puesto que las Cookies parecen utilizarse (en este caso) para almacenar datos relativos a la autentificación, pero, para lograr cierta "persistencia" de la misma, es decir, lo que es "entrar" en el sistema me parece que no tiene que ver con las "Cookies", en este caso. De todas, todas, las pruebas que he dicho tratarían de ver qué pasa con las Cookies de marras, pero, teniendo en cuenta que hay más campos que el "login" y el "password"; que dichos campos parecen variar aleatoriamente en cada carga de la página... no sé, no sé. Me parece una especie de "sistema" para impedir, precisamente, lo que trata de hacerse. ¿Entonces estoy diciendo que no puede hacerse? Bueno. Acaso eso es lo que tratan los desarrolladores de conseguir... pero esto no quiere decir que no pueda hacerse, imagino. |
|
#5
|
||||
|
||||
|
Cita:
Cita:
![]() Existe otra forma mas facil de hacerse, con lo que yo solucione el problema, pero con Indy quedaria mejor resuelto. Fue utilizar el componente TWebBrowser y lo manejas desde ahi, el se encarga de las cookies y demas problemas. Pero igual esteria bueno aprender a manejarla sesion con Indy, y estuve leyendo recien que los ICS tambien permiten cookies pero tampoco encontre un ejemplo sencillo.
__________________
[Crandel] Última edición por Crandel fecha: 10-10-2006 a las 04:07:44. |
|
#6
|
||||
|
||||
|
Hola,
Cita:
A ver... Paso 1: descargamos la página Web, esto es, su código fuente Paso 2: "parseamos" el código en busca de todos los campos del formulario Paso 3: Preparamos el "HTTP POST" y procedemos a su envío... Tiene su lógica, ¿no? Tal vez me haya liado antes con lo de los campos... Pero, en cualquier caso, no basta con los campos "login" y "password", o... ¿también en esto me he liado? Cita:
![]() |
|
#7
|
||||
|
||||
|
Cita:
Con indy, no pude lograr loguerme ya sea enviando solo los campos usuario y pass o todos juntos Si queres te paso el codigo con el que estoy probando
__________________
[Crandel] |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Descargar Formulario | monicasierrar | OOP | 8 | 29-09-2005 18:25:25 |
| Descargar DBE | brandolin | Conexión con bases de datos | 4 | 15-05-2004 03:07:21 |
| Descargar correo | pepe2000 | Internet | 1 | 17-02-2004 15:54:40 |
| descargar una extencion | migueilichenco | Internet | 1 | 28-11-2003 21:23:50 |
| Descargar Firebird.. | LucasArgentino | Tablas planas | 1 | 17-11-2003 14:58:04 |
|