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.