Добавление базовой аутентификации к HTTP-запросам в C#

Чтобы добавить базовую аутентификацию к HTTP-запросу на C#, вы можете использовать различные методы и библиотеки. Вот несколько подходов:

Метод 1: использование класса HttpClient(System.Net.Http)

using System;
using System.Net.Http;
using System.Net.Http.Headers;
public class Program
{
    public static void Main()
    {
        // Create HttpClient instance
        HttpClient client = new HttpClient();
        // Set basic authentication header
        string username = "your_username";
        string password = "your_password";
        string credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username}:{password}"));

        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
        // Send HTTP request
        HttpResponseMessage response = client.GetAsync("http://example.com").Result;

        // Handle response
        if (response.IsSuccessStatusCode)
        {
            // Process successful response
        }
        else
        {
            // Process error response
        }
    }
}

Метод 2: использование класса WebRequest(System.Net)

using System;
using System.Net;
public class Program
{
    public static void Main()
    {
        // Create WebRequest instance
        WebRequest request = WebRequest.Create("http://example.com");
        // Set basic authentication header
        string username = "your_username";
        string password = "your_password";
        string credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username}:{password}"));

        request.Headers["Authorization"] = $"Basic {credentials}";
        // Send HTTP request
        WebResponse response = request.GetResponse();
        // Handle response
        // ...
    }
}

Это всего лишь несколько примеров. На C# доступны также другие библиотеки и платформы, которые предоставляют дополнительные функции и гибкость для обработки HTTP-запросов, например RestSharpи HttpClientFactory.