6 votes

WebClient.UploadData utilisation correcte pour la requête post

Je pense que je deviens un peu fou, lorsque je teste ceci sur mon serveur web local, cela fonctionne correctement. Quand je vais sur le site web, il retourne une chaîne vide au lieu des données que j'attendais.

Je ne suis pas très familier avec le C#, donc je voulais juste vérifier que je fais les choses correctement. Les données sont du texte ascii simple

 wc = new WebClient();
 wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
 response = wc.UploadData(this.urlUpdate, Encoding.ASCII.GetBytes("data=" + HttpUtility.UrlEncode(buf.ToString())));

 s = Encoding.ASCII.GetString(response);

14voto

Marc Gravell Points 482669

Cela dépend vraiment de ce que vous essayez de faire... Je ne suis pas sûr, par exemple, de savoir pourquoi vous encodez des données en url dans le corps du message. Une façon plus simple de poster des paires clé/valeur est de le faire avec UploadValues ;

NameValueCollection inputs = new NameValueCollection();
string value = ...
inputs.Add("data", value);
webClient.UploadValues(address, inputs);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X