Je dois utiliser "HTTP Post" avec WebClient pour publier des données sur une URL spécifique que j'ai.
Maintenant, je sais que cela peut être accompli avec WebRequest mais pour certaines raisons, je veux plutôt utiliser WebClient. Est-ce possible? Si oui, quelqu'un peut-il me montrer un exemple ou me diriger dans la bonne direction?
HttpRequestHeader.ContentType
membre d'énumération ici comme ceciweb.Headers[HttpRequestHeader.ContentType]
: pWebClient
hérite deComponent
, qui contient~Component() {Dispose(false);}
). Le problème est que le garbage collector peut prendre un temps arbitraire pour le faire, car il ne prend pas en compte les ressources non gérées lors des décisions de collecte. Les ressources de grande valeur doivent être nettoyées dès que possible. Par exemple, laisser ouvert un descripteur de fichier inutile pourrait empêcher le fichier d'être supprimé ou écrit par un autre code.Il existe une méthode intégrée appelée UploadValues qui peut envoyer HTTP POST (ou tout type de méthodes HTTP) ET gère la construction du corps de la demande (concaténation des paramètres avec "&" et échappement des caractères par codage url) au format de données de formulaire approprié:
la source
En utilisant
WebClient.UploadString
ouWebClient.UploadData
vous pouvez POSTER facilement des données sur le serveur. Je vais montrer un exemple utilisant UploadData, puisque UploadString est utilisé de la même manière que DownloadString.plus: http://www.daveamenta.com/2008-05/c-webclient-usage/
la source
la source
la source
L'utilisation de simple
client.UploadString(adress, content);
fonctionne normalement, mais je pense qu'il ne faut pas oublier qu'unWebException
sera renvoyé si un code d'état HTTP réussi n'est pas renvoyé. Je le gère généralement comme ceci pour imprimer tout message d'exception renvoyé par le serveur distant:la source
L'utilisation de webapiclient avec le modèle envoie une demande de paramètre json de sérialisation.
PostModel.cs
WebApiClient.cs
Méthode d'appel professionnel
la source
Voici la réponse nette:
la source