Lire des données sur le web

Pour lire une page depuis Internet, il vient tout de suite à l’idée d’utiliser des commandes réseaux.

Il s’avère que .NET nous offre des méthodes toutes faites pour utiliser le protocole HTML. Nous allons donc voir pour cela comment implémenter certaines classes de la librairie System.Net .

Afin de donner plus d’intérêt à ce tutoriel vous trouverez une petite surprise, à la fin de cet article!!!!

Obtenir le contenu d’une page internet se résume à cela:

 HttpWebRequest webResquest = (HttpWebRequest)WebRequest.Create("http://www.olivettom.com/webGames/");
 WebResponse response = webResquest.GetResponse();
 
 StreamReader stream=new StreamReader(response.GetResponseStream());
 String ContenuPageWeb = stream.ReadToEnd();
 stream.Close();
 response.Close();
 
 Console.WriteLine(ContenuPageWeb);
 Console.Read();

Lire le contenu d’une page web permet déjà beaucoup de choses, cependant, il est encore mieux de pouvoir communiquer avec celle-ci. Pour cela un internaute remplit un formulaire html qu’il renvoie ensuite au site. Le dialogue via formulaire est en fait l’envoi de plusieurs pair clé/valeur sous le format nomDeVariable=Valeur&nomDeVariable2=Valeur2 avec une méthode GET ou POST.
Encore une fois les librairies nous simplifient la tache même si cela est légèrement plus compliqué.

 HttpWebRequest webResquest = (HttpWebRequest)WebRequest.Create("http://www.olivettom.com/webGames/");
 
//DEFINITION DE LA METHOD
webResquest.Method = "POST";
webResquest.ContentType = "application/x-www-form-urlencoded";
 
//CREATION DES VARIABLES A ENVOYER AU SITE
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes("variable_1=val1&variable_2=val2");
webResquest.ContentLength = data.Length;
 
//ECRITURE DES VARIABLES DANS LA REQUETE
Stream newStream = webResquest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
 
//RECUPERATION DE LA PAGE
WebResponse response = webResquest.GetResponse();
StreamReader stream = new StreamReader(response.GetResponseStream());
String ContenuPageWeb = stream.ReadToEnd();
stream.Close();
response.Close();
 
//AFFICHAGE
Console.WriteLine(ContenuPageWeb);
Console.Read();

Maintenant que vous savez communiquer avec des pages web, nous allons pouvoir inaugurez une nouvelle section à ce blog, les WEBGAMES!!!!!

Les webgames sont de petits jeux permettant de mettre en pratique de préférence en C# vous compétences fraichement acquises depuis ce site.

Voici donc le premier challenge…

==> CHALLENGE 1

Comments are closed.