我将尝试在一个 .net core 项目中使用 HttpClient 来向一个接受/返回 JSON 的 REST 服务发起 GET 请求。我无法控制外部服务。
不管我如何尝试,我都无法弄清楚如何将 Content-Type 头设置为仅为 application/json。
当我使用以下方式时:
我尝试过不进行验证设置头文件,但我在网络和SO上找到的所有方法都不适用于.NET Core。 所有其他发送HTTP请求的方法在.NET Core中都不可用,因此我需要解决这个问题。 我该如何在 content-type 中排除字符集?
更新:
正如答案中提到的,服务应该使用 Accept header。 解决方法(Shaun Luttin在他的答案中提到)是向GET请求添加一个空内容(什么?GET请求没有内容!是的...)。 这不太好,但确实有效。
不管我如何尝试,我都无法弄清楚如何将 Content-Type 头设置为仅为 application/json。
当我使用以下方式时:
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
它通过HTTP GET请求发送:
Content-Type: application/json; charset=utf-8
然而,这个特定的服务与此不兼容。只有在标题为以下情况下才能正常工作:
Content-Type: application/json
我尝试过不进行验证设置头文件,但我在网络和SO上找到的所有方法都不适用于.NET Core。 所有其他发送HTTP请求的方法在.NET Core中都不可用,因此我需要解决这个问题。 我该如何在 content-type 中排除字符集?
更新:
正如答案中提到的,服务应该使用 Accept header。 解决方法(Shaun Luttin在他的答案中提到)是向GET请求添加一个空内容(什么?GET请求没有内容!是的...)。 这不太好,但确实有效。