Герберт Шилдт - C# 4.0 полное руководство - 2011

Тут можно читать онлайн Герберт Шилдт - C# 4.0 полное руководство - 2011 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание

C# 4.0 полное руководство - 2011 - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

C# 4.0 полное руководство - 2011 - читать онлайн бесплатно полную версию (весь текст целиком)

C# 4.0 полное руководство - 2011 - читать книгу онлайн бесплатно, автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

WebRequest.Create(" http://www.McGraw-Hill.com ");

// Отправить сформированный запрос и получить на него ответ.

HttpWebResponse resp = (HttpWebResponse) req.GetResponse ();

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

string[] names = resp.Headers.AllKeys;

// Отобразить пары "имя-значение" из заголовка.

Console.WriteLine ("{0,-20}{1}\п", "Имя", "Значение"); foreach(string n in names) {

Console.Write ("{0,-20}", n);

foreach(string v in resp.Headers.GetValues(n))

Console.WriteLine(v);

}

// Закрыть ответный поток, resp.Close();

}

}

Ниже приведен полученный результат. Не следует забывать, что информация в заголовке периодически меняется, поэтому у вас результат может оказаться несколько иным.

Имя Значение

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-Ha6 op по указанному индексу или имени.

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

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

Имя cookie-Ha6 opa содержится в свойстве 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, то по команде

CookieDemo http://msn.com

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

using System; using System.Net;

class CookieDemo {

static void Main(string[] args) {

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

}

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

HttpWebRequest req = (HttpWebRequest)

WebRequest.Create(args[0]);

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

req.CookieContainer = new CookieContainer();

// Отправить сформированный запрос и получить на него ответ.

HttpWebResponse resp = (HttpWebResponse) req.GetResponse ();

// Отобразить cookie-наборы.

Console.WriteLine("Количество cookie-наборов: " + resp.Cookies.Count);

Console.WriteLine("{0,-20}{1}", "Имя", "Значение"); for(int i=0; i < resp.Cookies.Count; i++)

Console.WriteLine("{0, -20}{1}",

resp.Cookies[i].Name, resp.Cookies[i].Value);

// Закрыть ответный поток, resp.Close ();

}

}

Применение свойства LastModified

#Иногда требуется знать, когда именно сетевой ресурс был обновлен в последний раз. Это нетрудно сделать, пользуясь сетевыми средствами класса HttpWebResponse, среди которых определено свойство LastModified, приведенное ниже.

public DateTime LastModified { get; }

С помощью свойства LastModified получается время обновления содержимого сетевого ресурса в последний раз.

В приведенном ниже примере программы отображаются дата и время, когда был в последний раз обновлен ресурс, указываемый по URI в командной строке.

/* Использовать свойство LastModified.

Для того чтобы проверить дату последнего обновления веб-сайта, введите его URI в командной строке. Так, если назвать эту программу LastModifiedDemo, то для проверки даты последней модификации веб-сайта по адресу www.HerbSchildt.com введите команду

LastModif iedDemo http: //HerbSchildt. com

*/

using System; using System.Net;

static void Main(string[] args) {

if(args.Length != 1) {

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

}

HttpWebRequest req = (HttpWebRequest)

WebRequest.Create(args[0]) ;

HttpWebResponse resp = (HttpWebResponse) req.GetResponse();

Console.WriteLine("Последняя модификация: " + resp.LastModified);

resp.Close ();

}

}

Практический пример создания программы MiniCrawler

Для того чтобы показать, насколько просто программировать для Интернета средствами классов WebRequest и WebReponse, обратимся к разработке скелетного варианта поискового робота под названием MiniCrawler. Поисковый робот представляет собой программу последовательного перехода от одной ссылки на сетевой ресурс к другой. Поисковые роботы применяются в поисковых механизмах для каталогизации содержимого. Разумеется, поисковый робот MiniCrawler не обладает такими развитыми возможностями, как те, что применяются в поисковых механизмах. Эта программа начинается с ввода пользователем конкретного адреса URI, по которому затем читается содержимое и осуществляется поиск в нем ссылки. Если ссылка найдена, то программа запрашивает пользователя, желает ли он перейти по этой ссылке к обнаруженному сетевому ресурсу, найти другую ссылку на имеющейся странице или выйти из программы. Несмотря на всю простоту такого алгоритма поиска сетевых ресурсов, он служит интересным и наглядным примером доступа к Интернету средствами С#.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0 полное руководство - 2011 отзывы


Отзывы читателей о книге C# 4.0 полное руководство - 2011, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x