繁体   English   中英

HttpClient - “不支持的媒体类型”

[英]HttpClient - "Unsupported Media Type"

我正在尝试发布以下请求,但收到"Unsupported Media Type"响应。 我将Content-Type设置为application/json 任何帮助,将不胜感激。

var json = JsonConvert.SerializeObject(request);
var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
MyResult result = new MyResult();
using (var client = new HttpClient())
{
    client.BaseAddress = new Uri(baseurl);
    client.DefaultRequestHeaders.Clear();               
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64ApiKey);
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));               
    HttpResponseMessage Res = await client.PostAsync(method, stringContent);
    if (Res.IsSuccessStatusCode)
    {
        var response = Res.Content.ReadAsStringAsync().Result;
        result = JsonConvert.DeserializeObject<MyResult>(response);
    }               
}

检查从我的代码发送的原始数据后,我看到这一行正在添加字符集:

var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");

实际发送的数据如下所示:

Content-Type: application/json; charset=utf-8

我需要从请求中删除字符集:

stringContent.Headers.ContentType.CharSet = string.Empty;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM