Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Extraer datos de una pagina en java que tiene clave (sabiendo la clave claro) ;) (https://www.clubdelphi.com/foros/showthread.php?t=22803)

kalimocho 28-06-2005 01:21:56

Extraer datos de una pagina en java que tiene clave (sabiendo la clave claro) ;)
 
Pues eso es lo que quiero, extraer automaticamente datos de una pagina q esta en java y en la q entrando manualmente tienes q autentificarte con usuario y clave.

Ya lo he hecho otras veces con paginas normales, pero para esto necesitaría q me dijeseis al menos por dónde empezar para poder autentificarme automáticamente desde delphi.

¿Alguna idea, página, tutorial o lo q sea?

Gracias ;)

PD: A parte mantenernos dentro de la sesión mientras navegamos por la pagina y tal...

kalimocho 29-06-2005 02:23:59

Os comento mis progresos a ver si os animais a participar.

Buscando y buscando ya he encontrado la forma de que se autentifique y conecte, el problema como me temía es que al ser en java (jsp+javascript), el navegar por la pagina desde delphi es algo asi como un infierno.

Necesito que alguien me de una pista de donde leer para saber el siguiente paso que debo dar, con eso me conformo, ¿desde delphi puedo navegar por una pagina de este tipo?

¿como manejo cosas como popups para seleccion de perfil por ejemplo?

¿Se puede hacer de otra forma? Usando TWebBrowser por ejemplo con navegacion automatica a traves de Delphi (no tengo ni idea de si realmente se puede).

El codigo que he encontrado:

procedure TForm1.Button3Click(Sender: TObject);
var
SSLIO: TidSSLIOHandlerSocket;
UseSSL: boolean;
HTTP: TIdHTTP;
THURL: string;

begin

UseSSL := true;
THURL := 'https://servidor.con.clave/jsp/index.jsp';

Http := TIdHTTP.Create(nil);
Http.Request.Username := 'usuario';
Http.Request.Password := 'clave';


try

Http.HTTPOptions := [hoInProcessAuth];
Http.HandleRedirects := true;
Http.AuthRetries := 1; //you should not need more

if UseSSL then begin
SSLIO := TidSSLIOHandlerSocket.Create(Http);
Http.IOHandler := SSLIO;
SSLIO.SSLOptions.Method := sslvTLSv1; // or sslvSSLv23 (version 2 or 3 auto)
// if you are using ssl then you can use basic authentication as it will be encrypted.
// in fact you have to because by default idhttp uses non basic and SSL breaks it.
Http.Request.BasicAuthentication := true;
end;

memo1.lines.text := http.get(THURL);

finally

if http.ResponseCode = 401 then
showmessage('Authorisation required!');
if UseSSL then SSLIO.Free;
Http.Free;
end;
end;

__hector 29-06-2005 05:11:24

y que tal si simulas un browser, haciendo posts a la pagina mediante sockets cual si de un browser se tratara, para obtener tu resultado?

Hay extensiones en firefox, que te muestran todo el contenido de las peticiones http hechas por el browser asi que, descargando la extension (tienes que buscarla, pq ahora mismo no recuerdo su nombre), realizando la tarea manual, y dando copy/paste a las peticiones http que se generan en la sesion, seguro puedes reproducir el escenario y automatizarlo.


La franja horaria es GMT +2. Ahora son las 13:53:08.

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