Есть ли C # rest клиент, который обрабатывает куки? - PullRequest
1 голос
/ 08 ноября 2010

Я пытаюсь создать консольное приложение ac # для тестирования службы отдыха, которая использует файлы cookie для разных целей.Я пытался использовать гамак , но, похоже, он не управляет файлами cookie.

Существует ли клиент ac # rest, который управляет файлами cookie?

Ответы [ 4 ]

2 голосов
/ 02 июля 2012

Кроме того, RestSharp поддерживает автоматическое управление файлами cookie. Это делается внутренне, используя HttpWebRequest и CookieContainer. Для поддержки этого вам просто нужно установить свойство IRestClient.CookieContainer при создании общего IRestClient:

var client = new RestClient("http://api.server.com/")
{
    CookieContainer = new CookieContainer();
};

После того, как вы это сделаете, последующие вызовы Execute / Execute<T> / ExecuteAsync / ExecuteAsync<T> будут обрабатывать файлы cookie, как и ожидалось.

1 голос
/ 18 апреля 2011

Вы можете обращаться с печеньем в гамаке.Хотя это не выглядит естественно в коде, это работает.Вы должны вручную сохранять куки-файлы при каждом ответе и инъектировать их при каждом последующем запросе.Это часть кода, который я использую в классе, который использует веб-сервис.В других методах вместо вызова RestClient.Request () я вызываю _Request (), поэтому он обрабатывает файлы cookie каждый раз, когда я делаю один запрос.

1 голос
/ 08 ноября 2010

Можете ли вы использовать HttpWebReqest?Если это так, то для обработки файлов cookie используется класс CookieContainer.

Подробнее см. Этот связанный вопрос: Автоматическая обработка cookie C # /. NET HttpWebRequest + HttpWebResponse

0 голосов
/ 09 ноября 2010

Лично я думаю Ответ Стива Хейя гораздо проще, но если вы достаточно упрямы, вы можете использовать WebClient и использовать свойства Headers и ResponseHeaders.Остальные запросы сами становятся намного проще и выше, но манипуляции с печеньем становятся более болезненными.

Мне кажется, что это плохая сделка, но я предлагаю ее как возможную альтернативу предложению Стива, которое вы сделалине нравится.

Вы можете найти класс Jim's WebClient полезным в качестве отправной точки, если вы хотите написать класс-оболочку WebClient, чтобы сделать это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...