Читаем C# 4.0: полное руководство полностью

X-Server-Name       va-c1-r4-u27-b1

X-Cache             MISS from proxy.ukr.zal

X-Cache-Lookup      MISS from proxy.ukr.zal:3129

Connection          keep-alive

Content-Length      4442

Content-Type        text/html;charset=utf-8

Date                Wed, 27 Jul 2016 09:01:26 GMT

Last-Modified       Mon, 25 Jul 2016 11:57:20 GMT

Server              Apache


(В оригинале приведено:)

Имя                 Значение

Transfer-encoding   chunked

Content-Type        text/html

Date                Sun, 06 Dec 2009 20:32:06 GMT

Server              Sun-ONE-Web-Server/6.1


Доступ к cookie-наборам

Для доступа к 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-наборов из принятого ответа, необходимо предоставить сооkiе-контейнер с запросом. И для этой цели в классе HttpWebRequest определяется свойство CookieContainer, приведенное ниже.


public CookieContainer CookieContainer { get; set; }


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

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


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

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

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

CookieDemo http://msn.com

отобразятся cookie-наборы с веб-сайта по адресу www.msn.com. */

using System;

using System.Net;

class CookieDemo {

  static void Main(string[] args) {

    if (args.Length != 1) {

      Console.WriteLine("Применение: CookieDemo ");

      return;

    }


    // Создать объект запроса типа WebRequest по указанному URI.

    HttpWebRequest req = (HttpWebRequest)

              WebRequest.Create(args[0]);


    // Получить пустой контейнер.

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

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

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных