Для доступа к cookie-наборам, получаемым в ответ по протоколу HTTP, служит свойствоCookies,определенное в классеHttpWebResponse.В cookie-Ha6opax содержится информация, сохраняемая браузером. Они состоят из пар "имя-значение"

и упрощают некоторые виды доступа к веб-сайтам. Ниже показано, каким образом определяется свойствоCookies.

public CookieCollection Cookies { get; set; }

В классеCookieCollectionреализуются интерфейсыICollectionиIEnumerable,и поэтому его можно использовать аналогично классу любой другой коллекции (подробнее об этом см. в главе 25). У этого класса имеется также индексатор, позволяющий получать cookie-Ha6op по указанному индексу или имени.

В коллекции типаCookieCollectionхранятся объекты классаCookie.В классеCookieопределяется несколько свойств, предоставляющих доступ к различным фрагментам информации, связанной с cookie-набором. Ниже приведены два свойства,NameиValue,используемые в примерах программ из этой главы.

public string Name { get; set; } public string Value { get; set; }

Имя cookie-Ha6opa содержится в свойствеName,а его значение — в свойствеValue.

Для того чтобы получить список cookie-наборов из принятого ответа, необходимо предоставить соок1е-контейнер с запросом. И для этой цели в классеHttpWebRequestопределяется свойствоCookieContainer,приведенное ниже.

public CookieContainer CookieContainer { get; set; }

В классеCookieContainerпредоставляются различные поля, свойства и методы, позволяющие хранить сооЫе-наборы. По умолчанию свойствоCookieContainerсодержит пустое значение. Для того чтобы воспользоваться cookie-наборами, необходимо установить это свойство равным экземпляру классаCookieContainer.Во многих приложениях свойствоCookieContainerне применяется непосредственно, а вместо него из принятого ответа составляется и затем используется коллекция типаCookieCollection.СвойствоCookieContainerпросто обеспечивает внутренний механизм сохранения cookie-наборов.

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

/* Пример проверки cookie-наборов.

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

Так, если назвать эту программу CookieDemo, то по команде

CookieDemohttp://msn.com

Перейти на страницу:

Похожие книги