Console.WriteLine('Хост: ' + sample.Host);

Console.WriteLine('Порт: ' + sample.Port);

Console.WriteLine('Протокол: ' + sample.Scheme);

Console .WriteLine ('Локальный путь: 11 + sample. LocalPath) ;

Console.WriteLine('Запрос: ' + sample.Query);

Console.WriteLine('Путь и запрос: ' + sample.PathAndQuery);

}

}

Эта программа дает следующий результат.

Хост: HerbSchildt.com Порт: 80 Протокол: http

Локальный путь: /somefile.txt Запрос: ?SomeQuery

Путь и запрос: /somefile.txt?SomeQuery

Доступ к дополнительной информации, получаемой в ответ по протоколу HTTP

С помощью сетевых средств, имеющихся в классе HttpWebResponse, можно получить доступ к другой информации, помимо содержимого указываемого ресурса. К этой информации, в частности, относится время последней модификации ресурса, а также имя сервера. Она оказывается доступной с помощью различных свойств, связанных с получаемым ответом. Все эти свойства, включая и те что, определены в классе WebResponse, сведены в табл. 26.5. В приведенных далее примерах программ демонстрируется применение этих свойств на практике.

Свойство

Описание

public

string CharacterSet { get; }

Получает название используемого набора символов

public { get;

string ContentEncoding }

Получает название схемы кодирования

public

long ContentLength { get; }

Получает длину принимаемого содержимого. Если она недоступна, свойство имеет значение -1

public

string ContentType { get; }

Получает описание содержимого

public

CookieCollection Cookies

Получает или устанавливает список cookie-

{ get;

set; }

наборов, присоединяемых к ответу

public

WebHeaderCollection

Получает коллекцию заголовков, присоединяе

Headers! get; }

мых к ответу

public

bool IsFromCache { get; }

Принимает логическое значение true, если запрос получен из кеша. А если запрос доставлен по сети, то принимает логическое значение false

public

bool

Принимает логическое значение true, если

IsMutuallyAuthenticated { get; }

клиент и сервер опознают друг друга, а иначе — принимает логическое значение false

public DateTime LastModified { get; }

Получает время последней модификации ресурса

public

string Method { get; }

Получает строку, которая задает способ ответа

public

Version ProtocolVersion

Получает объект типа Version, описываю

{ get;

}

щий версию протокола HTTP, используемую в транзакции

public

Uri ReponseUri { get; }

Получает URI, по которому был сформирован ответ. Этот идентификатор может отличаться от запрашиваемого, если ответ был переадресован по другому URI

public

string Server { get; }

Получает строку, обозначающую имя сервера

public

HttpStatusCode StatusCode

Получает объект типа HttpStatusCode, опи

{ get;

}

сывающий состояние транзакции

public

string StatusDescription

Получает строку, обозначающую состояние

{ get;

}

транзакции в удобочитаемой форме

Доступ к заголовку

Для доступа к заголовку с информацией, получаемой в ответ по протоколу HTTP, служит свойство Headers, определенное в классе HttpWebResponse.

public WebHeaderCollection Headers{ get; }

Заголовок протокола HTTP состоит из пар 'имя-значение', представленных строками. Каждая пара 'имя-значение' хранится в коллекции класса WebHeaderCollection. Эта коллекция специально предназначена для хранения пар 'имя-значение' и применяется аналогично любой другой коллекции (подробнее об этом см. в главе 25). Строковый массив имен может быть получен из свойства AllKeys, а отдельные значения — по соответствующему имени при вызове метода Get Values (). Этот метод возвращает массив строк, содержащий значения, связанные с заголовком, передаваемым в качестве аргумента. Метод Get Values () перегружается, чтобы принять числовой индекс или имя заголовка.

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

// Проверить заголовки.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату