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

public virtual long ContentLength { get; set; } - Получает или устанавливает длину принимаемого содержимого. Устанавливается равным -1, если данные о длине содержимого недоступны

public virtual string ContentType { get; set; } - Получает или устанавливает описание принимаемого содержимого

public virtual WebHeaderCollection Headers { get; } - Получает или устанавливает коллекцию заголовков, связанных с URI

public virtual bool IsFromCache { get; } - Принимает логическое значение true, если запрос получен из кэша. А если запрос доставлен по сети, то принимает логическое значение false

public virtual bool IsMutuallyAuthenticated { get; } - Принимает логическое значение true, если клиент и сервер опознают друг друга, а иначе — принимает логическое значение false

public virtual Uri - Получает URI, по которому был сформирован ответ.

ResponseUri { get; } - Этот идентификатор может отличаться от запрашиваемого, если ответ был переадресован по другому URI


Классы HttpWebRequest и HttpWebResponse

Оба класса, HttpWebRequest и HttpWebResponse, наследуют от классов WebRequest и WebResponse и реализуют протокол HTTP. В ходе этого процесса в обоих классах вводится ряд дополнительных свойств, предоставляющих подробные сведения о транзакции по протоколу HTTP. О некоторых из этих свойств речь пойдет далее в настоящей главе. Но для выполнения простых операций в Интернете эти дополнительные свойства, как правило, не требуются.


Первый простой пример

Доступ к Интернету организуется на основе классов WebRequest и WebResponse. Поэтому, прежде чем рассматривать этот процесс более подробно, было бы полезно обратиться к прострму примеру, демонстрирующему порядок доступа к Интернету по принципу запроса и ответа. Глядя на то, как эти классы применяются на практике, легче понять, почему они организованы именно так, а не как-то иначе.

В приведенном ниже примере программы демонстрируется простая, но весьма типичная для Интернета операция получения гипертекстового содержимого из конкретного веб-сайта. В данном случае содержимое получается из веб-сайта издательства McGraw-Hill по адресу www.McGraw-Hill.com, но вместо него можно подставить адрес любого другого веб-сайта. В этой программе гипертекстовое содержимое выводится на экран монитора отдельными порциями по 400 символов, чтобы полученную информацию можно было просматривать, не прибегая к прокрутке экрана.


// Пример доступа к веб-сайту.

using System;

using System.Net;

using System.IO;

class NetDemo {

  static void Main() {

    int ch;


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

    HttpWebRequest req = (HttpWebRequest)

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


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

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


    // Получить из ответа поток ввода.

        Stream istrm = resp.GetResponseStream();

    /* А теперь прочитать и отобразить гипертекстовое содержимое, полученное по указанному URI. Это содержимое выводится на экран отдельными порциями по 400 символов. После каждой такой порции следует нажать клавишу ,чтобы вывести на экран следующую порцию из 400 символов. */

    for (int i = 1; ; i++) {

      ch = istrm.ReadByte();


      if (ch == -1) break;

      Console.Write((char)ch);


      if ((i % 400)== 0) {

      Console.Write("\nНажмите клавишу .");

      Console.ReadLine();

    }

  }

    // Закрыть ответный поток. При этом закрывается также поток ввода  istrm.

    resp.Close();

}

}


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


Home - The McGraw-Hill Companies

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

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

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

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

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

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

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

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

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