Bonjour,
J'ai un problème de bloquage de fenêtre (form1) si on veut la déplacer aprés avoir cliqué sur Button1. J'ai remarqué que le problème ne vient pas de WebRequest mais plutot de request.GetResponse().
Voici le code du form1 sur un Button1 qui provoque une lenteur voir même un freez de l'application tant qu'il a pas fini de télécharger le contenu du fichier php (je ne comprend pas d'où il pourrait venir le problème):
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim encoding As New UTF8Encoding Dim response As WebResponse 'dans connect.php c'est du xml Dim request As WebRequest = WebRequest.Create("http://www.site.org/connect.php") 'Proxy Nothing pour gagner 10 secondes de lenteur du form request.Proxy = Nothing request.Method = "POST" Dim postData As String = "pseudo=admin&password=admin" Dim byteArray As Byte() = encoding.GetBytes(postData) request.ContentType = "application/x-www-form-urlencoded" Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() response = request.GetResponse() dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim xmlDocument As New Xml.XmlDocument() xmlDocument.LoadXml(reader.ReadToEnd()) Dim value As String = xmlDocument.SelectSingleNode("test/ok").InnerText returnok = value Try Dim value2 As String = xmlDocument.SelectSingleNode("test/pseudo").InnerText Catch End Try If value = "HTTP_VALIDATOR" Then Form2.Show() Me.Hide() Else MsgBox("Mauvais login/mot de passe pour récuperer le contenu du xml") End If reader.Close() dataStream.Close() response.Close() response.GetResponseStream().Close() End Sub
Le contenu du xml (il marche parfaitement bien et il récupere toutes les données que j'veux aprés 2 secondes de lenteur ):
Code xml : 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 <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); header("Cache-Control: no-store, no-cache, must-revalidate" ); header("Cache-Control: GET-check=0, pre-check=0",false); header("Pragma: no-cache"); require("la_bdd.php"); $login = $_POST['pseudo']; //le login ou pseudo du membre $password = $_POST['password']; //le password du membre echo '<?xml version="1.0" encoding="utf-8"?>'; ?> <test> <?php //ici il y a des While, mysql_select etc... mais comme c'est un test j'vais plutot mettre un fake: if ( $login == "admin" ) { ?> <ok>HTTP_VALIDATOR</ok> <?php } else { ?> <ok>HTTP_ERREUR</ok> <? } ?> </test>
Est-ce que j'ai manqué un parametre pour éviter d'avoir une application qui freez au moment ou il récupere les données dans connect.php ?
Merci de votre aide, salutations.
Partager