Envoyer une requête HTTP POST en .NET

Envoyer une requête HTTP POST en .NET

Il existe plusieurs façons d’effectuer des requêtes HTTP GET et POST :

Méthode A : HttpClient (Recommandée)

Disponible dans : .NET Framework 4.5+, .NET Standard 1.1+ et .NET Core 1.0+.

C’est actuellement l’approche recommandée, elle est asynchrone et performante. Utilisez la version intégrée dans la plupart des cas, mais pour les plateformes très anciennes, il existe un paquet NuGet.

using System.Net.Http;

Configuration

Il est recommandé d’instancier un seul HttpClient pour toute la durée de vie de votre application et de le partager, sauf si vous avez une raison spécifique de ne pas le faire.

private static readonly HttpClient client = new HttpClient();

Consultez HttpClientFactory pour une solution par injection de dépendances.

POST

  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();

GET

  var responseString = await client.GetStringAsync("http://www.example.com/recepticle.aspx");

Méthode B : Bibliothèques tierces

RestSharp

POST

   var client = new RestClient("http://example.com");
   // client.Authenticator = new HttpBasicAuthenticator(username, password);
   var request = new RestRequest("resource/{id}");
   request.AddParameter("thing1", "Hello");
   request.A

*(Réponse tronquée)*