C# HttpClient 发布响应内容类型 application/json

问题描述 投票:0回答:1

我必须使用 httpclient 调用 C# 类中的 API。 API 需要内容类型标头,我想获取 JSON 形式的响应,因此我将 content-type: application/json 添加到 Postman 中的标头并执行发布请求,它完美运行:

但是如果我在内容类型 API 中编写其他内容,则会返回 html 代码。 我必须做与 C# 中的 Postman 完全相同的事情。这是我的示例代码:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("adress");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "adress");
request.Content = new StringContent(myjson, Encoding.UTF8, "application/json");
var y = await client.SendAsync(request);
var x = await y.Content.ReadAsStringAsync();

但结果始终是 HTML 而不是 JSON。

c# dotnet-httpclient
1个回答
2
投票

有趣但以这种方式解决:

request.Content = new StringContent(myjson, Encoding.UTF8);
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
request.Content.Headers.Add("No-Paging", "true");
© www.soinside.com 2019 - 2024. All rights reserved.