Bonjour,
J'ai un souci lors de l'utilisation de l'objet StreamReader durant le téléchargement du contenu HTML d'une page Web,
En fait le code en bas ne s’exécute correctement que si je temporise l’exécution du programme, Que ce soit par la ligne commentée ou via un MsgBox dans la boucle qui nécessite un click humain donc du temps,
J'ai comme l’impression que lors d'une boucle rapide, Le téléchargement de la page n'est pas complet et je me trouve avec des donnée du milieu de la page, Contrairement après une temporisation je reçoit le dernier de la page qui inclut la balise de fin de la page web à savoir </html>
Mon besoin été d'éviter les méthodes "ReadLine" et "ReadToEnd" qui prennent énormément de temps d’exécution surtout avec les pages long,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim objWebRequest As System.Net.WebRequest = System.Net.HttpWebRequest.Create("http://www.SiteQuelconque.net") Dim objWebResponse As System.Net.WebResponse = objWebRequest.GetResponse() Dim objStreamReader As New System.IO.StreamReader(objWebResponse.GetResponseStream()) Dim c(1024) As Char Do While objStreamReader.Peek() >= 0 objStreamReader.Read(c, 0, c.Length) 'System.Threading.Thread.Sleep(1000) Loop MsgBox(c) objStreamReader.Close() objWebResponse.Close() End Sub End Class
Merci de m'expliquer ce constat SVP ?
Partager