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
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)*