HttpClient.SendAsync 不支持的媒体类型

HttpClient.SendAsync unsupported media type

像往常一样,在 .NET 4.5 中,我使用 HttpClient 向 restful 服务(远程服务器)发送获取请求

然而,这一次,它返回错误415 - Unsupported Media Type

我期待请求 header 包括 Content-Type = application/json。 而且我找不到正确设置 Content-Type 的方法。

任何人有这方面的经验或任何建议将不胜感激!

代码如下,httpResponseMessage.RequestMessage.Headers


已更新 1

根据我的研究,我无法为 Content-Type 添加受限制的 header。因为这是 4.5 实现。这是正确的吗?

已更新 2

我尝试添加

request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

但是它返回了 Cannot send a content-body with this verb-type

我猜你的服务器不是在抱怨你请求的内容类型无效,而是在抱怨你发送的内容类型要求。

你得到

Cannot send a content-body with this verb-type

似乎暗示您试图发送 GET 请求。服务器需要带有主体的 GET 请求是相当不寻常的(尽管从技术上讲 HTTP 协议允许这样做)。所以我最好的猜测是服务器有问题。