У меня есть такой запрос питоне:
import requests
URL='https://test/test/test/sync?test&operation=test'
body = {"sinceDateTimeUtc":"2020-01-01 00:00:00.000", "tillDateTimeUtc": "2023-01-11 00:00:00.000"}
headers = {'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': '1sav23456vdsa7vsa8'}
response = requests.post(URL, json=body, headers=headers)
my_json = response.text
print(my_json)
На С# я смог написать такой запрос:
string url = "https://test/test/test/sync?test&operation=test";
var request = (HttpWebRequest)WebRequest.Create(url);
var postData = "{ \"sinceDateTimeUtc\":\"2020-01-01 00:00:00.000\", \"tillDateTimeUtc\": \"2022 -12-11 00:00:00.000\"}";
var data = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
request.Accept = "application/json";
request.Headers.Add("Authorization", "1sav23456vdsa7vsa8");
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
Console.WriteLine(responseString);
Но я знаю, что на C# такой же post запрос можно написать используя httpclient.
Как написать такой запрос используя httpclient? И/ИЛИ как можно модернизировать мой код на С#, чтобы передавать тело запроса, каким-нибудь другим способом (без вот этого элемента:
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
)