Выполнение POST-запроса без аутентификации C# - PullRequest
0 голосов
/ 21 февраля 2020

Я хочу сделать POST-запрос в службу отдыха. Там нет аутентификации, у него есть только два настроенных заголовка. Мой код ниже. Я получаю сообщение об ошибке:

Исключение типа «System.AggregateException» возникло в mscorlib.dll, но не было обработано в коде пользователя.

"Попытка подключения не удалась, поскольку подключенная сторона сделала не отвечает должным образом через некоторое время, или не удалось установить установленное соединение, поскольку подключенный хост не смог ответить "

Вы можете помочь? Что не так в коде?

 HttpClient client = new HttpClient();
 client.DefaultRequestHeaders.Accept.Clear();
 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
 client.DefaultRequestHeaders.Add("id", "8888");
 client.DefaultRequestHeaders.Add("type", "CUSTOMER");
 Uri uri = new Uri(requestUri);
 var ob = new { id= "5", color= "pink" };
 var transferJson = JsonConvert.SerializeObject(ob);
 var content = new StringContent(transferJson, Encoding.UTF8, "application/json");
 HttpResponseMessage responseMessage = client.PostAsync(uri, content).Result;

1 Ответ

0 голосов
/ 21 февраля 2020

Ваш код сам по себе не выглядит неисправным. Сообщение об ошибке говорит о том, что запрос прошел в тайм-ауте, что означает, что HttpClient ждет установленный период времени и завершается, если сервер не отвечает. Вы пытались пропинговать сервер, чтобы убедиться, что он действительно работает?

В этом случае вы можете попытаться увеличить значение тайм-аута вашего HttpClient (см. Здесь https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.timeout?view=netframework-4.8).

Кроме того, вы можете попытаться отправить запрос с помощью другого инструмента, такого как Postman, чтобы выяснить, связана ли проблема с вашим кодом, вашими параметрами (например, тайм-аут) или с самим сервером.

...