C#:
Einen HTTP-Request senden

How to:

Hier ein Beispiel, wie man in C# eine einfache GET-Anfrage sendet und die Antwort ausliest:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            HttpResponseMessage response = await client.GetAsync("http://example.com");
            
            if (response.IsSuccessStatusCode)
            {
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}

Das erwartete Ergebnis ist der HTML-Inhalt der angeforderten Webseite oder ein Fehlerstatuscode.

Deep Dive

Bereits in den 90er Jahren, mit dem Aufkommen des World Wide Web, wurden HTTP-Anfragen wichtig. Damals wurden sie mittels einfacher Tools und Befehlszeilenprogramme gesendet. Heute ist das Versenden einer HTTP-Anfrage ohne die eingebauten Bibliotheken von Programmiersprachen, wie C#’s HttpClient, kaum noch vorstellbar.

Alternativen zum HttpClient in C# sind die Klassen WebClient und HttpWebRequest, die allerdings als veraltet gelten und nur noch aus Kompatibilitätsgründen vorhanden sind. Beim HttpClient handelt es sich um eine moderne, asynchrone API, die eine nachhaltigere und flexiblere Handhabung von Netzwerkanfragen bietet.

Im Zusammenhang mit HttpClient sollten auch HttpRequestMessage und HttpResponseMessage erwähnt werden, die detailliertere Kontrolle über Anfragen und Antworten ermöglichen. Außerdem sollten Entwickler mit Konzepten wie asynchroner Programmierung und dem Umgang mit HTTP-Statuscodes vertraut sein, um effektiv mit HTTP-Anfragen umgehen zu können.

See Also