HTTP Post Demande d'envoi de données au serveur. Cet article traite de diverses méthodes pour effectuer efficacement les demandes de publication HTTP dans le .NET.
Méthode A: httpclient (recommandé)
httpclient est la méthode préférée pour exécuter les demandes HTTP dans les applications .NET modernes. Il est rapide, prend en charge l'exécution asynchrone et est largement disponible dans des cadres tels que .NET Framework, .NET Standard et .NET Core.
Exemple de code de demande de poste:
Méthode B: la bibliothèque tierce
using System.Net.Http; ... var values = new Dictionary<string, string>() { { "thing1", "hello" }, { "thing2", "world" }, }; var content = new FormUrlEncodedContent(values); var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content); var responseString = await response.Content.ReadAsStringAsync();
.NET propose beaucoup de bibliothèques troisième disponibles pour envoyer des demandes HTTP.
Restharp fournit un client REST complet qui prend en charge plusieurs méthodes HTTP, y compris la publication.
Exemple de code de demande de poste:
Flurl.http fournit une API fluide pour la demande HTTP, ce qui rend le code plus concis et plus facile à lire.
using RestSharp; ... var client = new RestClient("http://example.com"); var request = new RestRequest("resource/{id}"); request.AddParameter("thing1", "Hello"); request.AddParameter("thing2", "world"); var response = client.Post(request); var content = response.Content;
Exemple de code de demande de poste:
httpwebRequest est une classe restante qui n'est pas recommandée pour le nouveau développement. Ses performances ne sont pas aussi bonnes que HttpClient et ne prend pas en charge toutes ses fonctions.
using Flurl.Http; ... var responseString = await "http://www.example.com/recepticle.aspx" .PostUrlEncodedAsync(new { thing1 = "hello", thing2 = "world" }) .ReceiveString();
WebClient est un emballage de httpwebRequest. Ses performances sont également inférieures à des fonctions httpclient et limitées.
Exemple de code de demande de poste:
using System.Net; using System.Text; using System.IO; ... var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/recepticle.aspx"); var postData = "thing1=" + Uri.EscapeDataString("hello"); postData += "&thing2=" + Uri.EscapeDataString("world"); var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
Sélectionnez la bonne méthode dépend de vos besoins spécifiques et de vos plates-formes cibles. Pour la plupart des applications .NET modernes, HttpClient est une option recommandée en raison de ses performances élevées, de sa flexibilité et de sa prise en charge approfondie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!