PDA

Ver la Versión Completa : Obtener el código de una web


kes
06-08-2003, 21:51:51
Hola.

Tengo una aplicación en la que necesito obtener el código fuente de una página web colgada en un servidor. He utilizado el componente TWebBrowser para acceder a esta página pero no he encontrado ninguna propiedad o método para obtener el código fuente.
También lo he intentado con el TPageProducer, pero solo he logrado utilizar páginas locales sin salir a internet.

Si alguien sabe de algún otro componente o como utilizar estos componentes para hacer esto agradecería que me lo hiciera saber.

Saludos.

__hector
07-08-2003, 15:04:05
Puedes utilizar Sockets para hacer una peticion http al servidor, y el mismo te devolveria el contenido html de la pagina en cuestion.

Un pequeño ejemplo, utilizando ClientSocket:
Host: 207.105.75.31
Port: 80
Active : True


procedure TForm1.Button1Click(Sender: TObject);
begin
with cs.Socket do begin
SendText('GET http://www.borland.com/products/index.html HTTP/1.1'+#13#10);
SendText('Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, */*'+#13#10);
SendText('Accept-Language: es'+#13#10);
SendText('Accept-Encoding: gzip, deflate'+#13#10);
SendText('User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10);
SendText('Host: www.borland.com'+#13#10);
SendText(''+#13#10);
end;
end;

En el evento Onread del ClientSocket, añado el resultado a un memo:


memo1.Lines.Add(cs.Socket.ReceiveText);


Existen variantes, como si la pagina se genera despues de enviarle algun dato en la URL (QueryString), o si se obtiene despues de rellenar algun formulario, pero ya dependera de cada caso. Mientras tanto, esa es una forma genérica.