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 22-08-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
sessiones+cookies en página web

Buenas noches
después de mucho tiempo he regresado al foro, estaba de vagaciones , bueno y por ende han regresado las preguntas (de novato) jeje
ya, ahora lo que me trae por aquí es lo siguiente:

Estoy realizando una especie de emm.. bot ? bueno, la idea es hacer algo así, un robot que ingrese a una página, y me descargue ciertos datos que necesito, no es ficheros ni nada por el estilo, son solo datos en texto plano.

Ahora explicaré como lo hago a mano y luego analizar para poder hacerlo desde delphi, que componentes usar, como usarlos, etc.

Primeramente me logeo a una web miweb.com:8080/index.jsp vale, ahora ingreso los datos de user y pass y si son incorrectos, pues me sale eso, "usuario no encontrado" y si son correctos me sale un link lago así miweb.com:8080/espere.jsp donde me dice "espere unos segundos..... " y al pasar los segundos me muestra de nuevo miweb.com:8080/index.jsp "pero" ya estoy logeado, vamos, ahi tengo el link que me interesa jeje, se llama "tareas pendientes" y luego ingresando a ese links tengo los datos listos para almacenarlos en mi PC.

Bueno ahora lo que se que tengo que hacer es lo siguiente :

Primero tengo las opciones de usar idHTTP o la API WiniNet, ya he optado por usar los componentes Indy, osea idHTTP, ya que para usar la API WinInet se requiere "mas" conocimientos, ahora el siguiente paso sería logearme, luego una ves logeado, buscar o ma sbien dicho parsear el código y buscar el link que necesito, ingresar a ese link y LISTOO!! tengo otro lindo HTML para jugar a parsearlo e ir sacando lo que me interesa y guardarlo en una tabla plana como paradox, YA, eso es todo lo que tengo que hacer en teoria, vamos, que facil parece me se todos los pasos pero no se como hacerlos en delphi :\
Aquí muestro lo que he logrado hacer y en que me he trancado como es de suponerse, si no no estaría mi pregunta aquí jeje

Primero como dije, estoy usando idHTTP, y uso este código para logearme en la web..

bueno buscando en este mismo foro he encontrado mas de una opción, y la que he optado es por esta :

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  http: TIdHttp;
  params: TStrings;
  respuesta: string;
begin
  http := TIdHTTP.Create(Self);
  params := TStringList.Create;
  try
    params.Add('username=mi_usuario');
    params.Add('password=mi_pass');
    respuesta := http.Post('mipagina.com:8080/index.jsp', params);
    ShowMessage('Respuesta: ' + respuesta);
  finally
    http.Free;
    params.Free;
  end;
end;

Ya, he logrado logearme con éxito tengo el código html en una variable, PEROOOOOO... èh aquí el problema... como les había mencionado antes la página me muestra una página luego de logearme, una página mipagina.com:8080/espere.jsp y lo que me logro bajar es el código fuente de esa página que no me sirve para nada, solo un código HTML con unas cuantas etiquetas y el mensaje de " espere unos segundos..." ya, ni modo, era de suponerse no todo es facil como quitarle el chupete a un niño, al tener esa sorpresa inmediatamente he dicho que el sitio tiene una cookie y mantiene una sessión en tu equipo, y pues es verdad eso, ahora el problema... como hago para parecer un navegador ??
Como manejo sessiones en delphi ? como manejo la cookie ? que componente mas tengo que usar a parte de ese idHTTP ?
supongo que tengo que enviar la url miweb.com:8080/index.jsp + cookie, para asi tener una sessión y poder navegar por todos los links de la página, pro que si pongo por ejemplo mipagina.com:8080/tareas.jsp sin haber iniciado sessión me regresa a index.jsp como es de esperarse, bueno pero coo darán cuenta se lo que tengo que hacer pero no se com implementarlo en delphi, ya, creo que son muchas preguntas.. y he buscado en este mismo foro, en estos links he revisado "todos"
http://www.clubdelphi.com/foros/sear...earchid=811931
y este también que esta muy interesante y me lo he leido todo.
http://www.clubdelphi.com/foros/show...t=37050&page=2 (gracias señor Al Gonzales )

Ahora estoy trabado en esa parte, me podrían explicar un poco esto ?
o algún código ? no se por que, pero aprendo mas mirando códigos mala maña creo, ya supongamos que lo tengo resuelto, y pase a la otra fase que sería parsear la página buscar el link de "mis tareas" e hacer una petición a miweb.com:8080/tareas.jsp + cookie y luego otra ves lo mismo, paresear y extraer lo que me interesa
para eso he visto que hay muchos componetes para parsear html, pero no se por que pero me interesaría poder hacerlos con regex, en fin, solo es un gusto, con tal que me automatize el trabajo, jeje

espero haber sido claro y me hayan entendido, he estado todo el día buscando, leyendo y es todo lo que he podido avanzar, y cualquier respuesta es Bienvenida y se agradece de antemano señores

saludos pues!!
Responder Con Cita
  #2  
Antiguo 26-08-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
emm.. alguna idea ?
por cierto ya he revisado el hilo de Al Gonzales, y no entiendo, con solo colocar ese componente de Indy, creo que es Cookies, algo así, con solo ponerlo al form ya el hace todo el trabajo de manejar sessiones ?

saludos!
Responder Con Cita
  #3  
Antiguo 26-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Te respondo con un interrogante...

Se puede usar codigo ASP desde tu proyecto Delphi? porque lo resolverias con Session.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 26-08-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
pues no, en primer lugar se que me estaría complicando mas, y segundo lugar yo no se asp , quisiera hacerlo puro delphi, se que no es dificil, pero para uno que recién aprende todo le parece complicado.
saludos!
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
cookies halizia PHP 6 30-01-2007 17:52:20
duda con cookies Luzma PHP 4 08-07-2006 18:58:10
sessiones en delphi kernex_bell OOP 0 07-02-2006 01:13:29
Informacion sobre programar nuevas SESSIONES CARSOFT_AR Conexión con bases de datos 1 22-11-2004 22:46:13


La franja horaria es GMT +2. Ahora son las 19:35:27.


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