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.