<p>Il existe plusieurs façons d’effectuer des requêtes HTTP <a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods">GET</a> et <a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods">POST</a> :</p>
<p>Méthode A : HttpClient (Recommandée)</p>
<p>Disponible dans : .NET Framework 4.5+, .NET Standard 1.1+ et .NET Core 1.0+.</p>
<p>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 <a href="https://www.nuget.org/packages/System.Net.Http">paquet NuGet</a>.</p>
<pre><code class="lang-auto">using System.Net.Http;
</code></pre>
<p>Configuration</p>
<p><a href="https://learn.microsoft.com/en-us/azure/architecture/antipatterns/improper-instantiation/">Il est recommandé</a> d’instancier un seul <code>HttpClient</code> 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.</p>
<pre><code class="lang-auto">private static readonly HttpClient client = new HttpClient();
</code></pre>
<p>Consultez <a href="https://learn.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests#what-is-httpclientfactory"><code>HttpClientFactory</code></a> pour une solution par <a href="https://en.wikipedia.org/wiki/Dependency_injection">injection de dépendances</a>.</p>
<ul>
<li></li>
</ul>
<p>POST</p>
<pre><code class="lang-auto"> 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();
</code></pre>
<ul>
<li></li>
</ul>
<p>GET</p>
<pre><code class="lang-auto"> var responseString = await client.GetStringAsync("http://www.example.com/recepticle.aspx");
</code></pre>
<p>Méthode B : Bibliothèques tierces</p>
<p><em><strong><a href="https://github.com/restsharp/RestSharp">RestSharp</a></strong></em></p>
<ul>
<li></li>
</ul>
<p>POST</p>
<pre><code class="lang-auto"> 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)</code></pre>