Recherche
 
 
 
Tutoriaux
 
- Initiation à VS .NET
- Agencement des composants
- Menu déroulant
- Pop-up
- Traitement des fichiers
- Les Délégués
- Les Threads
- Fichiers XML
- Flux Web
- Services Web
 
 
Projets
 
- Calpe's World
- Sarky
- CyberAbuse
 
 
Me conctacter
 
- Demande d'aide
- Me proposer un poste
 
 
Liens
 
- Developpez.com
- C# Help
- Cours C# de l'ESSI
 
 
Flux web

En C#, il existe une classe qui permet d'interroger une page web afin de récupérer sa source.
Cette classe est évidemment bien pratique car elle évite un travail sur les sockets, et d'employer les protocoles HTTP.
Nous allons créer une application qui appelle la page web http://www.yahoo.fr et affiche son code dans une zone de texte.

Commençons par créer un nouveau projet.

Ajoutons à notre application vide une zone de texte et un bouton.

Pour que la zone de texte devienne multiligne il suffit de le préciser dans les propriétés.

Le champ Multiline doit être renseigné en true.

Double cliquons sur le bouton pour entrer dans le code et créer la fonction button1_Click.
On a besoin de trois namespace supplémentaires pour cette application.
     using System.Net;
     using System.Text;
     using System.IO;

Ces lignes sont à ajouter tout en haut.

On va maintenant dans la méthode button1_Click et on ajoute le code suivant.
          private void button1_Click(object sender, System.EventArgs e)
          {
               WebResponse result=null;

                // on interroge la page de yahoo
               WebRequest req = WebRequest.Create("http: //www.yahoo.fr");
               result = req.GetResponse();

                // on crée un flux pour lire la réponse
               Stream ReceiveStream =result.GetResponseStream();
               
                // on choisit le type d'encodage
               Encoding encode = System.Text.Encoding.GetEncoding(0);
               
                // on crée un flux texte qui lira le flux web
               StreamReader sr = new StreamReader(ReceiveStream,encode);
               
                // on lit le flux qu'on place dans le string read
               string read = "";                    
               read = sr.ReadToEnd();
               
                // on remplit la zone de texte
               textBox1.Text = read;
               
          }

La lecture de la page se fait en trois temps:
- on crée un flux pour interroger la page voulue.
- on transforme ce flux web en flux texte.
- on lit le flux pour le traiter ensuite.

Une fois compilée, l'application fonctionne assez rapidement. On récupère alors un code "brut" en HTML de la page de http://www.yahoo.fr.


Il existe bien sûr plein d'applications à ce type de code une fois le principe compris. A vous de trouver la bonne inspiration en interrogeant par exemple un dictionnaire en ligne, un moteur de recherche etc...