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 协议允许这样做)。所以我最好的猜测是服务器有问题。
像往常一样,在 .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 协议允许这样做)。所以我最好的猜测是服务器有问题。