43 votes

Existe-t-il un moyen de faire un PUT avec WebClient ?

avec la classe WebClient dans .NET 4.0, existe-t-il un moyen de faire un PUT ?

Je sais que vous pouvez faire un GET avec DownloadString() et un POST avec UploadString(), mais existe-t-il une méthode ou une propriété qui vous permet de faire un PUT ?

Merci.

61voto

adrift Points 24386

Il existe des surcharges pour UploadString qui vous permettent de spécifier la méthode. Par exemple, celui-ci prend un Uri , un string pour la méthode, et un string pour les données.

 using (var webClient = new WebClient())
{
    webClient.UploadString(apiUrl, 
        WebRequestMethods.Http.Put, // or simply use "PUT"
        JsonConvert.SerializeObject(payload))
}

11voto

vejay2k Points 41

Vous pouvez utiliser webclient.UploadString (urlwithparams, "Put", "")

l'url avec des paramètres doit inclure les paramètres au format de chaîne de requête ... urlwithparams = www.foo.com?key=value&key2=value2

Cela a fonctionné pour moi...

1voto

EeKay Points 1785

Hein? Comme indiqué sur le site Web de MS, WebClient.UploadData prend également la méthode (sous forme de chaîne), n'est-ce pas ? Ou est-ce que j'ai raté quelque chose ?

-3voto

Kibbee Points 36474

Je ne pense pas que WebClient puisse le faire. Cependant, vous pouvez utiliser la classe HttpWebrequestpour effectuer une requête put .

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