如何使用RESTSharp获取响应头?

时间:2019-01-31 13:32:01

标签: c# api restsharp

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

我尝试过类似的操作: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;

1 个答案:

答案 0 :(得分:2)

我非常确定RestSharp中的响应标头作为集合(IList)返回,因此将h声明为字符串是行不通的。请参见源here。您可能想要尝试将值强制转换为这样的字符串:

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

如果知道要查找的标题的名称,则可以使用一些here所示的LINQ:

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