C#:
Wysyłanie żądania HTTP
How to:
W C# używamy HttpClient
. Spójrz:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
// Tworzenie klienta
using HttpClient client = new HttpClient();
try
{
// Wysyłanie żądania GET
HttpResponseMessage response = await client.GetAsync("http://example.com");
response.EnsureSuccessStatusCode(); // Rzuca wyjątek, jeśli nie 2XX
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine("\nWyjątek:");
Console.WriteLine(e.Message);
}
}
}
Odpowiedź serwera pojawi się w konsoli – jako tekst strony example.com
.
Deep Dive
Historia
Klasa HttpClient
pojawiła się w .NET Framework 4.5. Zastąpiła starsze narzędzia jak WebRequest
– z większym naciskiem na asynchroniczność i wydajność.
Alternatywy
Poza HttpClient
, można też używać WebClient
albo niskopoziomowych socketów. Jednak WebClient
jest uznawany za przestarzały, a sockety wymagają więcej pracy i wiedzy.
Szczegóły
HttpClient
jest zoptymalizowany do ponownego użytku. Stwórz raz i używaj wielokrotnie. Pamiętaj o async-await
dla płynności i unikania zablokowania wątku. Kontrola błędów jest kluczowa – EnsureSuccessStatusCode
i obsługa HttpRequestException
.