HttpClient.SendAsync不支持的媒体类型

时间:2015-08-28 11:14:32

标签: c# rest httpclient

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

但是,这一次,它返回了错误415 - Unsupported Media Type

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

任何人都有此案例的经验或任何建议将不胜感激!

代码如下,httpResponseMessage.RequestMessage.Headers

更新1

在我研究过的时候,我无法为Content-Type添加一个受限制的标题。由于这是4.5实施。这是对的吗?

更新2

我尝试添加

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

然而它返回了Cannot send a content-body with this verb-type

1 个答案:

答案 0 :(得分:2)

我猜您的服务器并未抱怨您请求的无效内容类型,而是关于您发送该请求的内容类型。

你得到了

  

无法使用此动词类型

发送内容正文

似乎暗示您尝试发送 GET 请求。服务器需要一个正文的 GET 请求是相当不寻常的(尽管技术上HTTP协议允许这样做)。所以我最好的猜测是服务器出了问题。