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-相同的错误消息