C#:RestClient:对于小写标题

时间:2016-06-23 06:25:09

标签: c# rest rest-client

我在c#中使用了以下代码,它使用了RestClient。问题是标题不应区分大小写,但看起来就像它们一样。

var client = new RestClient(sMA_URL);
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");

//Without the line below the RestRequest adds some default header which is not acceptable by our server. 
 request.AddHeader("**Accept**", "*/*");
 request.AddHeader("content-type", "application/json");
 request.AddHeader("authorization", "Bearer "+sBearerToken);

// Make sure you deserialize this response, for further use. The best way to do this is to create a class and then fill that with the values obtained by the response but if a response is not used many times,
// you can do it the way it has been done in Bearer Token Generation

 IRestResponse response = client.Execute(request);

 Console.WriteLine(response.Content);
 Console.ReadKey();

当我接受(小写)时,它会抱怨内容类型但是Accept(大写)工作正常。没有关于内容类型的错误。我无法确定问题是否与其尝试调用的服务或RestClient本身有关。

这是我得到的状态代码(没有例外) ' NotAcceptable Content-Type'

1 个答案:

答案 0 :(得分:0)

答案中包含答案,其解释清楚。

  

" NotAcceptable Content-Type"

上述消息表示您尝试向您发送请求的API,服务或端点,根据content-type标题{' application/json'拒绝您的请求。

由于您要发送 GET 请求,我不明白为什么您需要指定content-type

尝试删除content-type标题,您的请求可能会有效。

添加content-type标头将用于 POST PUT 请求,您将在请求中发送正文/有效负载(例如:json,表单数据,xml,multipart等...),甚至对于此类请求,除非您发送请求的服务器要求您指定content-type,否则它仍然不是必需的。