У меня проблема с получением ответа от метода HttpClient PostAsJsonAsync. Я передаю данные StringContent в запрос POST, но он возвращает код состояния Forbidden (403).
Когда я попытался добавить заголовок запроса по умолчанию (закомментированная строка кода), ошибка изменилась, и она вернула проблему тайм-аута:
{System.Net.Http.WinHttpException (0x80072EE2): тайм-аут операции
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
в System.Threading.Tasks.RendezvousAwaitable`1.GetResult ()
at System.Net.Http.WinHttpHandler.d__105.MoveNext ()}
var content = new StringContent(JsonConvert.SerializeObject(contentBody), Encoding.UTF8, "application/json");
var client = new HttpClient();
client.BaseAddress = new Uri("https://www.example.com");
//client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
using (var httpResponse = await client.PostAsJsonAsync("api/details", content))
{
if (httpResponse.Content != null)
{
var responseContent = await httpResponse.Content.ReadAsStringAsync();
}
}
Когда я попробовал это в Postman, он вернул данные JSON. Почему это не работает в коде? Есть ли что-то, что блокирует мое соединение?