
Hai già discusso in un precedente articolo come a ottenere il contenuto una pagina Web tramite il linguaggio di programmazione PHP. Questa volta si sta per mostrare come si può fare lo stesso C#. Ecco il codice e successivamente vi spiegheremo a voi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public static string getContenidoWeb(string url){ //Verifico que tenga prefijado el tipo de protocolo if (!url.Contains ("http://") || !url.Contains ("https://")) { url = "http://" + url; } //Envío petición y recibo la respuesta Uri uri = new Uri (url); System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create (uri); System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse (); //Proceso respuesta y convierto el flujo de llegada en cadena de caracteres System.IO.StreamReader input = new System.IO.StreamReader (res.GetResponseStream ()); char[] chrBuff = new char[256]; int intLen = 0; string strSource = ""; do{ intLen = input.Read(chrBuff, 0, 256); string strBuff = new string(chrBuff, 0, intLen); strSource += strBuff; }while (intLen > 0); return strSource; } |
In linea di principio, Abbiamo creato questa funzione come statici chiamarlo senza dover creare un'istanza della classe a cui appartengono, Anche se è vostra decisione inserire questa funzione nella classe appropriata e impostarlo come statico o non. Anche lasciato in mano il elaborazione e gestione degli errori Che cosa, per semplicità, Noi abbiamo ovviato esso.
Come si può vedere, la funzione accetta come parametri il URL del sito web da cui si desidera ottenere il vostro codice, in forma di stringa di testo. Una volta che si chiama, prima cosa che fa è Verifica avere l'URL che si ottiene come parametro predefinito il protocollo HTTP o HTTPS e, Se non è così, aggiunge che è.
Quindi, creare una petizione HttpWebRequest e si ottiene la risposta in oggetto classe HttpWebResponse. Infine, Converte il flusso arrivo dei dati in una catena di caratteri, ritorno questo come risultato la chiamata a questa funzione.
