如何使用 RESTSharp 获得响应 header?

How get the response header with RESTSharp?

我正在开发一个调用 API 的程序,一切正常,但我必须恢复响应 header 上的一些信息,我该如何恢复这些信息?

我试过类似的方法:string h = response.Headers; 但它不起作用。

 var client = new RestClient("https://xxxx.com/");

        client.Authenticator = new HttpBasicAuthenticator("user", "password");


        var request = new RestRequest("xx/xx/xx", Method.GET);
        IRestResponse response = client.Execute(request);
        var xml_text = response.Content;

我很确定 RestSharp 中的响应 headers 会作为 collection (IList) 返回,因此将 h 声明为字符串将不起作用.请参阅来源 here。您可能想尝试将值转换为这样的字符串:

foreach (var h in response.Headers)
{
  h.ToString();
}

如果您知道要查找的 header 的名称,您可以像显示的那样使用一些 LINQ here :

string userId = response.Headers
    .Where(x => x.Name == "userId")
    .Select(x => x.Value)
    .FirstOrDefault().ToString();