Автоматическая обработка файлов cookie C # /. NET HttpWebRequest + HttpWebResponse - PullRequest
55 голосов
/ 21 февраля 2009

Есть ли способ автоматически обрабатывать файлы cookie в .NET с объектами HttpWebRequest / HttpWebResponse? Я предпочтительно ищу эквивалент LWP :: UserAgent и его поведение (perl), только в среде .NET.

Есть предложения или советы?

1 Ответ

127 голосов
/ 21 февраля 2009

Я думаю, вы ищете класс CookieContainer . Если я понимаю, что вы пытаетесь сделать правильно, у вас есть отдельные объекты для запроса и ответа, и вы хотите автоматически перенести коллекцию cookie response в следующую коллекцию cookie request . Попробуйте использовать этот код:

CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
request.CookieContainer = cookieJar;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int cookieCount = cookieJar.Count;

Как только вы создадите cookieJar и установите его в CookieContainer запроса, он будет хранить все куки, которые приходят из ответа, поэтому в приведенном выше примере счетчик файлов cookie будет 1, как только он посетит Google.com. , Свойства контейнера cookie в запросе и ответе выше будут хранить указатель на cookieJar, поэтому файлы cookie автоматически обрабатываются и распределяются между объектами.

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