Een HTTP-verzoek verzenden

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