Вот так выглядит запрос. В ответ на него сервер возвращает ошибку 500 в Visual Studio 2017 на Windows. Причём в Visual Studio Code на Ubuntu запрос обрабатывается правильно и сервер не возвращает ошибок. Ладно бы, но программу нужно предоставить в виде решения Visual Studio.
using (var webClient = new WebClient())
{
webClient.Headers.Add("Authorization", "token ...");
webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=UTF-8";
var response = webClient.UploadString(url, "POST", data);
Console.WriteLine(response);
}
Нашёл решение. Если у кого такая же проблема, вставьте эту строку вначале:
webClient.Encoding = System.Text.Encoding.UTF8;
В UploadString И UploadStringAsync методах это свойство используется для преобразования заданной строки в Byte массива перед отправкой строки.
В итоге код должен выглядеть так:
using (var webClient = new WebClient())
{
webClient.Encoding = System.Text.Encoding.UTF8;
webClient.Headers.Add("Authorization", "token ...");
webClient.Headers[HttpRequestHeader.ContentType] = "application/json; charset=UTF-8";
var response = webClient.UploadString(url, "POST", data);
Console.WriteLine(response);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости