Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2006
chelox chelox is offline
Miembro
 
Registrado: sep 2006
Posts: 13
Poder: 0
chelox Va por buen camino
solución con webbrowser

Hola, acavo de poner un mensaje de ayuda en este foro de internet, pero leyendo este tema creo que acá esta mi solución, y era algo tan simple como lo que puso bicho

MEMO1.Text := WebBrowser1.OleObject.Document.body.innerHTML;

Mi problema lo resolvería con este compenente creo yo porque al sitio que estoy consultando tiene algunos redireccionamientos.
Ahora lo que yo necesito es abrir el sitio, pero enviando algunos parámetros por POST.
Me parece que esto si se puede con este componente. Veo que por aca la tienen reclara con este tema, asi que espero alguna ayuda.
Luego una vez que trajo los datos y haga todos los redireccionamientos que quiera recién ahí examinaría el código HTML que con eso ya estaría resuelto el problema.

Aca está lo que quiero, que puse en otro mensaje:
Necesito hacer una consulta a un sitio web publico, donde envio unas variables por POST y recibo todo un HTML con los resultados.
Estuve renegando un poco con DELPHI hasta que lo logré unsando un componente IdHTTP.
Aparentemente funciona pero no me trae resultados, es como que hace una consulta nula.
Gracias a este componte me detecta que tiene un redireccionamiento no se si esto pude influir, yo creo que no. Porque a esto mismo lo hice con flash, envio y recibe todo bien, me trae la consulta correcta, pero me corta el HTML, no me lo trae completo.
Yo creo que es posible hacerlo, pero no se si estoy lejos o cerca, lo que se me había ocurrido era como hacer un internet explorer propio, donde yo pueda tener acceso al codigo html.
Pero no manejo casi nada los componente de internet de delphi, yo creo que a esto un experto lo saca al instante.
Espero que alguien me pueda ayudar.

Aca pongo el ejemplo hecho con delphi 7, por si alguien quiere investigar.
Gracias.

www.dbhost.com.ar/pruebaindy.zip
Responder Con Cita
  #2  
Antiguo 09-10-2006
Avatar de Roger007
Roger007 Roger007 is offline
Registrado
 
Registrado: oct 2006
Posts: 9
Poder: 0
Roger007 Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 09-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 09-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Además, creo que se usan cookies. ¿Indy maneja las cookies?
Responder Con Cita
  #5  
Antiguo 09-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 10-10-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Cita:
Empezado por dec
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.
a mi me dice que el problema de acceso son las cookies

Cita:
Empezado por dec
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.
lo que hice fue descargar la pagina principal http://s3.travien.net/login.php y de ahi sacas los campos de login para intentar de acceder y generas automaticamente el pedido de login, pero no me funciona

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.
Responder Con Cita
  #7  
Antiguo 10-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Ángel
lo que hice descargar la pagina principal http://s3.travien.net/login.php y de ahi sacas los campos de login para intentar de acceder.
Sí; pero, ahí se pueden ver campos cuyos valores son aleatorios, es decir, cada vez que descargas dicha página Web los valores de algunos campos cambian también. ¿Cómo vas a proporcionar los valores correctos si no sabes los que son? Ahora,... no sé si no me estoy liando...

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:
Empezado por Ángel
Existe otra forma mas facil de hacerse, con lo que yo solucione el problema, pero con Indy quedaria mejor resuelto.
¿Entonces pudiste acceder al código fuente de la página Web una vez autentificado? ¿Y sólo utilizaste los campos "login" y "password"? Pues lo dicho, no probé lo suficiente el tema, por lo que se ve, o no supe hacerlo, vaya.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 13:43:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi