|
Программирование >> Программирование с использованием ajax
WebClient WebRequest, WebResponse TcpClient TcpListener System. Net. Sockets Клиент Сервер Рис. 32.5. Варианты программирования сетевой передачи Если требуется независимость от протокола или большая степень контроля над протоколами TCP и UDP, можно выполнить программирование сокетов средствами .NET. Классы для программирования сокетов определены в пространстве имен System.Net.Sockets. WebClient Мы начнем с рассмотрения самого простого в использовании класса - WebClient. Этот класс представляет собой компонент, который можно перетащить из панели инструментов в прможение Windows Forms. Его можно использовать с клиентскими приложениями для получения доступа к HTTP- или ЕТР-серверам или для доступа к файлам в файловой системе. Основные свойства и методы класса WebClient описаны в табл. 32.2. Таблица 32.2. Основные свойства и методы класса WebClient Свойства класса WebClient Описание BaseAddress Credentials UseDefaultCredentials Encoding Headers Proxy Свойство BaseAddress определяет базовый адрес запроса, выполняемого объектом WebClient Свойство Credentials позволяет передавать идентификационную информацию - например, с использованием класса NetworkCredential Если нужно использовать идентификационные сведения зарегистрированного в данный момент пользователя, установите значение свойства UseDefaultCredentials равным true Свойство Encoding МОЖНО использовать для установки кодирования строк, предназначенных для выгрузки и загрузки Свойство Headers позволяет определять коллекцию WebHeaderCoilection, содержащую информацию заголовка, характерную для используемого протокола По умолчанию для доступа в Internet используется прокси-сервер, сконфигурированный в Internet Explorer. При необходимости работы с другим прокси-сервером, с помощью свойства Proxy можно определить объект webProxy Окончание табл. 32.2 Свойства класса WebClient Описание ч Если нужно отправить строку запроса Web-серверу, это можно выполнить, устанавливая объект NameValueCollection с помощью свойства QueryString [ г f-b>iders После отправки запроса информацию заголовка ответа можно прочитать внутри класса WebHeaderCoilection, связанного с классом ResponseHeaders IChu с WebClient предоставляет простые методы выгрузки и загрузки файлов, опи-(.11 тыс м гаГ)л. 32.3. Таблица 32.3. Методы выгрузки и загрузки файлов класса WebClient Методы класса WebClient Описание < )d ta () Метод DownioadData () позволяет передавать строку Web-адреса, дописываемую к базовому адресу BaseAddress, а метод возвращает массив байтов, содержащий данные, полученные с сервера L г ing о Метод DownloadString О аналогичен методу DownioadData О ; единственное различие между ними состоит в том, что возвращенные данные хранятся внутри строки i i 1 I е () Если данные, возвращенные с сервера, должны храниться внутри файла, метод DownioadFiie () выполняет все необходимые действия. Аргументы, устанавливаемые им - Web-адрес и имя файла J i () Метод OpenRead () также загружает данные с сервера, но за- груженные данные могут считываться из потока, возвращенного этим методом Метод UploadFile О можно использовать для выгрузки файлов на FTP- или Web-сервер. Этот метод допускает также передачу НТТР-метода, который должен использоваться при выгрузке J () В то время как метод uploadFiie () позволяет выполнять выгрузку файлов из локальной файловой системы, метод UpioadData () отправляет серверу массив байтов г г q () Метод Uploadstring () МОЖНО использовать для выгрузки стро- ки на сервер JO Метод UploadValues () можно использовать для выгрузки объ- екта NameValueCollection на сервер - * О Метод OpenWrite () отправляет содержимое серверу, используя при этом поток В ( i(vi\i()iuc\i практическом занятии мы загрузим файл из Web с помощью класса . I . м nt Практическое занятие Использование класса WebClient I (io.viaiirc поиый проект консольного приложения по имени WebClientDemo в кспалогс С: \BegVCSharp\Chapter32. 2. Импортируйте пространство имен System.Net. 3. Добавьте следующий код в метод Main (): static void Main () { WebClient client = new WebClientO; client.BaseAddress = http: www.microsoft.com ; string data = client.DownloadString( Office ); Console.WriteLine(data); Console.ReadLine(); 4. Скомпилируйте и запустите приложение. Описание полученных результатов После создания экземпляра класса WebClient значение свойства BaseAddress устанавливается равным http: / /www.microsof t. com. Оно представляет левую часть адреса, используемого во всех последующих запросах. Вызов метода DownloadString ( Of f ice ) запрашивает страницу http: www. microsoft.com/Office. Все возвращенные данные сохраняются в переменной data и выводятся на консоль. Классы WebRequest и WebResponse Для обмена данными с Web- или FTP-сервером вместо класса WebClient можно применять класс WebRequest. Сам класс WebClient скрытым образом использует класс WebRequest. Класс WebRequest всегда используется в сочетании с классом WebResponse. Вначале, конфигурируя объект WebRequest, нужно определить запрос, который будет отправлен серверу. Затем можно вызвать метод GetResponse, который отправляет запрос серверу и возвращает его ответ в классе WebResponse. Классы WebRequest и WebResponse являются абстрактными и поэтому не используются непосредственно. Как показано на рис. 32.6, они являются базовыми классами, а пространство имен System.Net предоставляет конкретные реализации протоколов HTTP, FTP и файловых протоколов.
HttpWebRequest FtpWebRequest HttpWebResponse FtpWebResponse FileWebRequest FileWebResponse Puc. 32.6. Диаграмма классов WebRequest и WebResponse
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |