Лучший способ сохранить куки в C # .NET?

2

Иногда вам может понадобиться вызывать URL-адрес 'login', передавая свое имя пользователя/пароль. Затем веб-служба обычно возвращает cookie, который вы можете использовать в последующих запросах.

В следующем коде (С#.NET), каков правильный способ сохранить этот файл cookie?

cookies = new CookieContainer();
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
     cookies = req.CookieContainer;   //*choice 1*
     cookies.Add(req.CookieContainer.GetCookies(uri));  //*choice 2*
     cookies.Add(response.Cookies);  //*choice 3*
}

С выбором 1, похоже, не существует способа "добавить" возвращенный CookieContainer в существующий CookieContainer (если я сохраняю другие файлы cookie).

Теги:
cookies

1 ответ

1
Лучший ответ

вы должны передать свой существующий контейнер cookie на сервер, он вернет его обратно и все изменения, которые он сделал. Это нормальное поведение веб-серверов - они редко очищают файлы cookie.

то есть. сначала создайте контейнер cookie, запустите все, что захотите, а затем передайте его HttpWebResponse. Прополощите, повторите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню