Как сохранить куки из RestResponse и передать их следующему RestRequest?

Если бы кто-нибудь мог помочь мне с моей проблемой, я был бы очень благодарен.

Я написал код C#, используя библиотеку RestSharp для взаимодействия с RightScale API.

Код прекрасно работает с одним набором имени пользователя и пароля, но когда я заменяю имя пользователя и пароль новым, я получаю ответ "Базовая аутентификация устарела для вызовов, отличных от входа в систему. Пожалуйста, войдите в систему, чтобы получить сеанс и пройти сеанс назад для дальнейших действий."

Кто-нибудь может направить меня в правильном направлении? Я нахожу действительно странным, что код работает только для одного набора учетных данных, а не для любого другого имени пользователя и пароля.

Как сохранить куки и передать их в качестве ссылки в следующем RestRequest?

1 ответ

RestSharp 102.4+ поддерживает использование общего System.Net.CookieContainer для всех запросов от того же IRestClient, При этом любые файлы cookie, установленные или не заданные в ответах, будут использоваться в последующих запросах. Для того, чтобы использовать общий CookieContainerпросто установите свойство на вашем RestClient экземпляр перед его использованием:

var client = new RestClient("http://server/");
client.CookieContainer = new System.Net.CookieContainer();

Источник: https://github.com/restsharp/RestSharp/wiki/Cookies

Другие вопросы по тегам