.NET e` una piattaforma molto potente ma a volte molto complicata e per fare una semplice operazione che con php richiederebbe una riga, dobbiamo scomodare namespace, classi, etc…
Vediamo una possibile soluzione che ci permette “intercettare” il codice html di una pagina.
Come sempre ecco prima il codice
using System;
using System.IO;
using System.Net;
namespace TA.classes
{
///
/// Restituisce il codice HTML di una pagina (url)
///
public class TAGrabHtml
{
public string getHTML(string url)
{
string result;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
result = reader.ReadToEnd();
reader.Close();
return result;
}
}
}
Innanzitutto creiamo un un’istanza dell’oggetto HttpWebRequest del namespace System.Net attraverso il metodo Create. Come unico argomento passiamo l’url della pagina da grabbare.
Successivamente intercettiamo la risposta con l’oggetto HttpWebResponse e ne leggiamo il contenuto con GetResponseStream().
Infine, possiamo leggere l’oggetto cosi’ ottenuto tramite StreamReader del namespace System.IO e trasformare il tutto in una stringa attraverso il metodo ReadToEnd.
Per grabbare una pagina html e` necessario il consenso del proprietario di quella pagina!

Entries (RSS)