C# HttpClient-“http://www.HttpClient.org/HttpClient;“不支持的媒体类型”;

C# HttpClient-“http://www.HttpClient.org/HttpClient;“不支持的媒体类型”;,c#,.net,json,asp.net-mvc,C#,.net,Json,Asp.net Mvc,我正在尝试发布以下请求,但收到“不支持的媒体类型”响应。我正在将内容类型设置为application/json。任何帮助都将不胜感激 var json = JsonConvert.SerializeObject(request); var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json"); MyResult result = new MyResult(); using (var cl

我正在尝试发布以下请求,但收到
“不支持的媒体类型”
响应。我正在将
内容类型设置为
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 json=JsonConvert.serialized对象(请求);
var stringContent=newstringcontent(json,unicodeincoding.UTF8,“application/json”);
MyResult=新的MyResult();
使用(var client=new HttpClient())
{
client.BaseAddress=新Uri(baseurl);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Authorization=新的AuthenticationHeaderValue(“基本”,base64ApiKey);
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
HttpResponseMessage Res=await client.PostAsync(方法,stringContent);
如果(Res.IsSuccessStatusCode)
{
var response=Res.Content.ReadAsStringAsync().Result;
结果=JsonConvert.DeserializeObject(响应);
}               
}

检查代码发送的原始数据后,我发现此行添加了字符集:

var stringContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");
实际发送的数据如下所示:

Content-Type: application/json; charset=utf-8
我需要使用以下命令从请求中删除字符集:

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

服务器/应用程序允许哪些内容类型?@KennethK.-该网站称,以下
HTTP请求的内容类型标题设置为application/json。
@mjwills-
Res.issucessstatuscode
返回false,因为服务器返回的状态代码为
415
,例如
不支持的媒体类型
如果您注释掉
client.DefaultRequestHeaders.Accept.Add会发生什么(新MediaTypeWithQualityHeaderValue(“application/json”);
?@mjwills-相同的错误消息