Il .NET Framework ci mette a disposizione alcuni classi che ci permettono di effettuare delle richieste web e di analizzarne la risposta proprio come fa un browser web.
Questo tipo di implementazione normalmente viene utilizzata quando si ha la necessità di dover indicizzare in un proprio motore di ricerca delle pagine web che non sono accessibili direttamente da file, oppure sono generate dinamicamente tramite un engine server side proprio come avviene per le pagine ASP.NET.
Lo script seguente mostra come creare una richiesta web e leggere lo stream restituito dal server, mettendo il tutto in una variabile locale da utilizzare per i nostri scopi:
string html = string.Empty; Uri uri = new Uri(@"http://www.tuosito.it"); System.Net.WebRequest request = System.Net.WebRequest.Create(uri); using (System.Net.WebResponse response = request.GetResponse()) { using (System.IO.Stream stream = response.GetResponseStream()) { using (StreamReader sr = new StreamReader(stream)) { html = sr.ReadToEnd(); } } }
Avendo la variabile popolata, possiamo utilizzare una regular expression per filtrarla o utilizzare il codice per quel che più preferiamo.
E' da tenere in considerazione l'idea che il server a cui si effettua la richiesta può non rispondere velocemente e può essere non raggiungile al momento della stessa, per cui è preferibile eseguire questa funzione in una chiamata asincrona in modo da evitare timeout o interfacce bloccate.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- #lightswitch 2012 supporta nativamente #html5, #jquery e #jquerymobile. è stato mostrato girare su #ipad a #msteched
- 6 giorni al lancio di #netfx4 e #vs10ita. segui il nostro speciale su http://u.aspitalia.com/gh
- Una preview della prossima versione di #VisualStudio con cui creare #metrostyle app http://aspitalia.com/build-win8 #BldWin
- #vs14 ctp2 è disponibile come VM in #azure o per il download. supporto per il touch e tutte novità su https://aspit.co/awc
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- #IE10 disponibile al download da subito: http://aspitalia.com/vf http://aspitalia.com/mix-11 #mix11
- Viene mostrata la nuova start screen di Windows Phone 8 https://aspit.co/wp-summit #WPSummit