web-dev-qa-db-fra.com

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 y a-t-il une méthode ou une propriété qui vous permet de faire un PUT?

Merci.

37
Ryguy

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))
}
52
Jeff Ogata

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

l'URL avec les 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 ...

10
vejay2k

Hein? Comme indiqué sur le site Web de MS WebClient.UploadData prend-elle la méthode (sous forme de chaîne) trop à droite? Ou est-ce que je manque quelque chose?

2
EeKay