【发布时间】:2019-06-21 19:57:05
【问题描述】:
我在从 HttpClient PostAsJsonAsync 方法获取响应时遇到问题。我将 StringContent 数据传递给 POST 请求,但它返回 Forbidden (403) 状态代码。
当我尝试添加默认请求标头(代码注释行)时,错误发生了变化并返回了超时问题:
{System.Net.Http.WinHttpException (0x80072EE2): 操作超时 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Threading.Tasks.RendezvousAwaitable`1.GetResult() 在 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 数据。为什么它在代码中不起作用?有什么东西阻止了我的连接吗?
【问题讨论】:
标签: c# httpclient