C#:
Een HTTP-verzoek verzenden
Hoe:
C# maakt het versturen van HTTP-verzoeken eenvoudig met HttpClient
. Hier is het skelet van een GET-verzoek:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://example.com");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
Voorbeelduitvoer (afgekort):
<!doctype html>
<html>
<head>
<title>Voorbeeld Domein</title>
...
Diepere Duik
HttpClient
werd geïntroduceerd in .NET Framework 4.5 om HTTP-communicatie gemakkelijker te maken. Daarvoor moest je waarschijnlijk worstelen met de klassen HttpWebRequest
en HttpWebResponse
, die omslachtiger waren.
Er zijn andere manieren om HTTP-verzoeken te versturen in C#. RestSharp
en Flurl
zijn twee populaire bibliotheken van derden die een vloeiendere interface en extra functies bieden. Maar HttpClient
is meestal meer dan genoeg voor de meeste behoeften.
Wat implementatie betreft, is HttpClient
ontworpen om hergebruikt te worden voor meerdere verzoeken. Het voor elk verzoek instantiëren ervan kan het aantal beschikbare sockets uitputten onder zware belasting. Let altijd, en ik bedoel altijd, op de juiste afhandeling van HttpClient
-instanties om lekken van middelen te voorkomen.
Zie Ook
- Microsoft’s
HttpClient
documentatie: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient - Beste praktijken voor HttpClient: https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/
- Interactie met RESTful API met
RestSharp
: http://restsharp.org/ - Vloeiende HTTP (HTTP made fluent) met
Flurl
: https://flurl.dev/