[英]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.