如何发布到宁静的Web API

时间:2018-12-05 07:59:00

标签: c# asp.net-web-api

我正在尝试发布到接受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 );

此错误可能是什么原因?

1 个答案:

答案 0 :(得分:0)

我认为此问题可以解决此问题: https://stackoverflow.com/a/14252326/6996150

  

您的操作没有失败。

     

您的后端服务说它正在返回的响应类型   客户请求中的“接受HTTP”标头中未提供该信息。

     

参考:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

     
      
  • 找出Service返回的响应(内容类型)。
  •   
  • 提供此   (内容类型)在您的请求Accept标头中。
  •   
     

http://en.wikipedia.org/wiki/HTTP_status_code-> 406

(提供@TheWhiteRabbit的赠金)