Bonjour,

j'ai ce type de requête a émettre ( Trace fournit via SOAPUI

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
POST http://xxx.xxx.xx.xx/MyService HTTP/1.1
Connection: close
Accept-Encoding: gzip,deflate
User-Agent: MAP2W [2.0.146]
Referer: 192.168.10.100
Accept: */*
Cache-Control: no-cache
Content-Length: 12
Host: 192.168.10.50
 
command_list
Malheureusement, je n'arrive pas la faire tourner avec .Net. Celle-ci échoue systématiquement

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
string url = @"http://xxx.xxx.xx.xx/MyService";
                string postData = "command_list";
 
                WebRequest req = WebRequest.Create(url);
                HttpWebRequest httpReq = (HttpWebRequest)req;
 
                httpReq.Method = WebRequestMethods.Http.Post;
                Stream s = httpReq.GetRequestStream();
                StreamWriter sw = new StreamWriter(s, Encoding.ASCII);
                sw.Write(postData);
                sw.Close();
 
                HttpWebResponse httpResp =
                               (HttpWebResponse)httpReq.GetResponse();
                s = httpResp.GetResponseStream();
                StreamReader sr = new StreamReader(s, Encoding.ASCII);
                Console.WriteLine(sr.ReadToEnd());

En observant les traces dans Wireshark, je vois clairement que ce qui n'est pas bon, c'est la manière dont est transmis "command_list".

j'ai aussi tenté de la manière suivante sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
WebClient client = new WebClient();
client.Headers.Add("User-Agent", "MAP2W [2.0.146]");
client.Headers.Add("Referer", "192.168.10.100");
 
client.Headers.Add("Connection", "close");
client.Headers.Add("Cache-Control", "no-cache");
byte[] bret = client.UploadData(" http://xxx.xxx.xx.xx/MyService", "POST", 
                    System.Text.Encoding.ASCII.GetBytes("command_list"));


Merci pour vos conseils.