Recuperare codice HTML da pagina web

A volte può crearsi la necessità di recuperare codice HTML da una pagina web, in lazarus fare ciò è molto semplice.

Come prima cosa bisogna andare al sito http://www.ararat.cz/synapse/doku.php e scaricare l'ultima versione di Synapse disponibile per Lazarus.

Scompattate il file che avete scaricato e copiare tutti i file contenuti in source\lib dentro la cartella che contiene il vostro progetto.

Dopodiche aggiungete al vostro progetto una nuova unit che chiamerete GetHtml e che conterrà le seguenti righe.

{

Libreria realizzata da Sammarco Francesco
Mail: francesco.sammarco@gmail.com
Utilità: recuperare codice html

}



unit GetHtml;


{$mode objfpc}{$H+}

interface

uses
  HTTPSend, Classes, SysUtils,blcksock, synautil, synaip, synsock, ftpsend, pingsend; {synapse library}

  function RecuperaHtml(Url: string): string;

implementation

function RecuperaHtml(Url: string): string;
var http : THTTPSend;
    page : TStringList;
    i : longint;
    risultato: string;
begin
  risultato:='';
  http:=THTTPSend.Create;
  page:=TStringList.Create;
  try
      if not http.HTTPMethod('GET',Url) then
        begin
             RecuperaHtml:='';
             exit;
        end
      else
        begin
          page.LoadFromStream(http.Document);
          for i:=0 to page.Count-1 do
              risultato:=risultato + UpCase(page[i]);
        end;
        http.Clear;
        page.Clear;
  finally
    http.Free;
    page.Free;
  end;
  RecuperaHtml:=risultato;
end;

end.


Fatto questo andiamo nella form del nostro progetto e aggiungiamo la libreria GetHtml nella sezione uses della nostra form. Alla form aggiungiamo una TEditBox, un campo TMemo, e un TButton. Lasceremo i nomi di default ovvero Edit1, Memo1 e Button1.

Creiamo l'evento Click per il pulsante e andiamo a scriverci dentro il seguente codice:


procedure TForm1.Button1Click(Sender: TObject);
var
   CodicePag: string;
begin
     CodicePag:=RecuperaHtml(Edit1.Text);
     Memo1.Text:=CodicePag;
end;

Compilate, eseguite e scrivete un url nella EditBox, premete il pulsante e vedrete il codice HTML nel campo memo.

Spero che vi sia stato utile.



SMF 2.0.8 | SMF © 2011, Simple Machines
Privacy Policy
SMFAds for Free Forums
TinyPortal © 2005-2012

Go back to article