В среде выполнения .NET Runtime протоколы HTTP, HTTPS и FTP определяются автоматически. Так, если указать идентификатор URI с префиксом HTTP, то будет автоматически получен HTTP-совместимый класс, который поддерживает протокол HTTP. А если указать идентификатор URI с префиксом FTP, то будет автоматически получен FTP-совместимый класс, поддерживающий протокол FTP.
При сетевом подключении к Интернету чаще всего применяется протокол HTTP, поэтому именно он и рассматривается главным образом в этой главе. (Тем не менее аналогичные приемы распространяются и на все остальные поддерживаемые протоколы.) Протокол HTTP поддерживается в классах HttpWebRequest
HttpWebResponse
. Эти классы наследуют от классов WebRequest
и WebResponse
, а кроме того, имеют собственные дополнительные члены, применимые непосредственно к протоколу HTTP.В пространстве имен System.Net
Далее речь пойдет прежде всего о классах WebRequest
WebResponse
, поскольку именно они положены в основу сетевых программных средств, доступных в пространстве имен System.Net
.Класс WebRequest
WebRequest
и поддерживающие синхронную передачу данных, а в табл. 26.2 — свойства, объявляемые в классе WebRequest
. Устанавливаемые по умолчанию значения свойств задаются в производных классах. Открытые конструкторы в классе WebRequest
не определены.Для того чтобы отправить запрос по адресу URI, необходимо сначала создать объект класса, производного от класса WebRequest
Create()
, определенный в классе WebRequest
. Метод Create()
возвращает объект класса, наследующего от класса WebRequest
и реализующего конкретный протокол.Таблица 26.1. Методы, определенные в классе WebRequest
Метод -
Описаниеpublic static WebRequest Create(string
public static WebRequest Create(Uri
public virtual Stream GetRequestStream() -
Возвращает поток вывода, связанный с запрошенным ранее идентификатором URIpublic virtual WebResponse GetResponse() -
Отправляет предварительно сформированный запрос и джидает ответа. Получив ответ, возвращает его в виде объекта класса WebReponse. Этот объект используется затем в программе для получения информации по указанному адресу URIТаблица 26.2. Свойства, определенные в классе WebRequest
Свойство -
Описание