我正在尝试发布到接受JSON格式数据的API
但是我收到406个不可接受的错误。
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var user = "demo";
var password = "demo";
var base64String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{user}:{password}"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64String);
string url = "https://api.fever.co.za/FTIntegration.svc/BalanceLookup";
var data = new
{
BalanceID = "4E45D053-044E-4C7E-A2A3-0743A7237811",
CardOrIDNumber = "8212225222075"
};
var stringContent = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
var response = await client.PostAsJsonAsync(url, stringContent );
此错误可能是什么原因?
答案 0 :(得分:0)
我认为此问题可以解决此问题: https://stackoverflow.com/a/14252326/6996150
您的操作没有失败。
您的后端服务说它正在返回的响应类型 客户请求中的“接受HTTP”标头中未提供该信息。
参考:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
- 找出Service返回的响应(内容类型)。
- 提供此 (内容类型)在您的请求Accept标头中。
(提供@TheWhiteRabbit的赠金)