using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
var request = new // По хорошему надо вынести в отдельный класс или record
{
sinceDateTimeUtc = new DateTime(2020, 01, 01, 0, 0, 0),
tillDateTimeUtc = new DateTime(2022, 12, 11, 0, 0, 0),
};
var httpRequest = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://test/test/test/sync?test&operation=test"),
Headers = {
Authorization = AuthenticationHeaderValue.Parse("1sav23456vdsa7vsa8"),
Accept = {MediaTypeWithQualityHeaderValue.Parse("application/json")}
},
Content = new StringContent(JsonSerializer.Serialize(request))
{
Headers = {
ContentType = MediaTypeHeaderValue.Parse("application/json"),
},
},
};
// По возможности httpClient нужно переиспользовать. Инициализируй 1 раз, сделай побольше запросов, а в конце Dispose()
using var httpClient = new HttpClient();
var response = await httpClient.SendAsync(httpRequest);
// Дальше работаем с response так, как нам нужно
var contentString = await response.Content.ReadAsStringAsync();
Console.WriteLine(contentString);
Если нужно спарсить ответ как json, то используй JsonSerializer.Deserialize нас пришедшем стриме.