Как получить заголовок ответа с RESTSharp? - PullRequest
0 голосов
/ 31 января 2019

Я разрабатываю программу, которая вызывает 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 голосов
/ 31 января 2019

Я почти уверен, что заголовки ответа в RestSharp возвращаются как коллекция (IList), поэтому объявление h в виде строки не будет работать.См. Источник здесь .Возможно, вы захотите попытаться привести значение к строке, подобной этой:

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

Если вы знаете имя искомого заголовка, вы можете использовать немного LINQ, как показано здесь :

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