API Get 需要 Content-Type application/json;charset=UTF-8 - Http 客户端问题

Lee*_*mes 9 .net c# asp.net http

我正在使用需要将 Content-Type 设置为application/json;charset=UTF-8的 API 服务。

如果我在没有charset=UTF-8 的情况下发出请求我会收到406 - Not Acceptable

我可以通过 Postman 根据需要设置 Content-Type 进行呼叫,但是如果我使用我的 .Net Http 客户端,我会收到错误消息:

System.FormatException: '值 'application/json;charset=UTF-8' 的格式无效。

无论如何我可以解决此验证并强制 Http Client 接受该值?

更新:

这是我最近的尝试,它仍然抛出错误。

Body.Headers.ContentType = new MediaTypeHeaderValue("application/json;charset=UTF-8");

更新: Content-Type 确实是一个无效的标题。API 开发人员应我们的要求将其删除。

小智 14

尝试设置属性:

 new MediaTypeHeaderValue("application/json")
        {
            CharSet = Encoding.UTF8.WebName
        }; 
Run Code Online (Sandbox Code Playgroud)


Rom*_*syk 5

试试这个

HttpClient httpClient= new HttpClient();
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)