Главная » Просмотр файлов » Г. Шилдт - С#4.0 Полное руководство

Г. Шилдт - С#4.0 Полное руководство (1160795), страница 210

Файл №1160795 Г. Шилдт - С#4.0 Полное руководство (Г. Шилдт - С#4.0 Полное руководство) 210 страницаГ. Шилдт - С#4.0 Полное руководство (1160795) страница 2102019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 210)

Кахслая пара "имя-значение" хранится в коллекции класса хеЬнеас)егсо11есгдоп. Эта коллекция специально предназначена для хранения пар "имя-значение" и приме- няется аналогично любой другой коллекции (подробнее об этом см. в главе 25). Строковый массив имен может быть получен из свойства В11Кеуя, а отдельные значения— по соответствующему имени при вызове метода Ое 1 /а1п ее ( ) . Этот метод возвращает массив строк, содержащий значения, связанные с заголовком, передаваемым в качестве аргумента.

Метод Оеп(/а1пея () перегружается, чтобы принять числовой индекс или имя заголовка. В приведенной ниже программе отображаются заголовки, связанные с сетевым ресурсом, доступным по адресу ыиы. Мсбгаи-Н111. соль // Проверить заголовки, пя1пч Яуятеп1; чя1пч Яуясеш.нес; с1аяя Неас)егпеио япаг1с чогд Магп() ( // Сознать объект запроса типа ИеЬВеЧпеяс по указанному ОВ1. НГГрнеппеячеяп геЧ = (НГГрнеЬВеячеяп) ИепяеЧпеяг.сгеасе("ЬГср://ммм.нсоган-НШ .сои"); // Отправить сформированный запрос и получить на него ответ.

НГГрнеЬВеяропяе геяр = (НГГрнеЬВеяропяе) гея.оеГВеяропяе()) // Получить список имен. ясг1пч() лакея = гевр.Неабегя.л11кеуя; О Отобразить пары "имя-значение" из за~оленка. Сопво1е.нггпе11пе("(0,-20)(1)1пГЬ "ИмяГЬ "Значение" ); Тогеасп(вггепч и гп лакея) Сопво1е.нг11е("(0,-20)", и); Тогеасп(ясг1пч ч гп геяр.Неабегвпэесча1пея(п)) Сопяо1е.нг11еп1пе(ч); ) Закрыть ответный поток. геяр.С1ояе()," ) Ниже приведен полученный результат.

Не следует забывать, что информация в заголовке периодически меняется, поэтому у вас результат может оказаться несколько иным. Аоступ к соо(ое-наборам Для доступа к сооЫе-наборам, получаемым в ответ по протоколу НТТР, служит свойство Соок гез, определенное в классе НссриеЬВезроп ее.

В соо(г(е-наборах содержится информация, сохраняемая браузером. Они состоят из пар "имя-значение" Имя Тгапягег-епсог)1пд Сопсеп1-Туре оаге Яегчег Глава 26. Сетевые средства подключения к Интернету 5.027 Значение спппхеб секс/Ьси1 Яоп, 06 Оес 2009 20:32:06 ОМТ Яоп-ОНЕ-ИеЬ-Яегчег/6.1 1028 Часть ((. Библиотека С(г и упрощают некоторые виды доступа к веб-сайтам. Ниже показано, каким образом определяется свойство Соох1ез. риЫзс СооксеСо11есгтоп Сооиаея ( Пег) яеС) В классе соокзесо11ессгоп реализуются интерфейсы 1со11ессзоп и 1ЕппюегаЫе, и поэтому его можно использовать аналогично классу любой другой коллекции (подробнее об этом см. в главе 25).

У этого класса имеется также индексатор, позволяющий получать сооЫе-набор по указанному индексу или имени. В коллекции типа соо)п1есо11есс1оп хранятся объекты класса Соох1е. В классе Соохзе определяется несколько свойств, предоставляющих доступ к различным фрагментам ийформации, связанной с сооЫе-набором. Ниже приведены два свойства, наюе и Ча1де, используемые в примерах программ из этой главы.

роы1с ясг1по наюе ( чесп яес; роЬ11с ягг1пд Уа1ое ( Пег) зег; ) Имя сооЫе-набора содержится в свойстве нате, а его значение — в свойстве (/а1пе. Для того чтобы получить список сооЫе-наборов из принятого ответа, необходимо предоставить сооЫе-контейнер с запросом. И для этой цели в классе НССрнеЬНес(пезг определяется свойство СоокаеСопсаапег, приведенное ниже. роЫзс СоойвеСопгазпег СооьсеСопгазпег ( ЧеС; яег; ) В классе Соо)п1еСопгазпег предоставляются различные поля, свойства и методы, позволяющие хранить сооЫе-наборы. По умолчанию свойство Соо)п1еСопса1пег содержит пустое значение. Для того чтобы воспользоваться сооЫе-наборами, необходимо установить это свойство равным экземпляру класса Соох1еСопга1пег.

Во многих приложениях свойство Соок1еСопга1пег не применяется непосредственно, ь а вместо него из принятого ответа составляется и затем используется коллекция типа СоохсеСо11ессгоп, Свойство Соох1еСопса1пег просто обеспечивает внутренний механизм сохранения сооЫе-наборов. В приведенном ниже примере программы отображаются имена и значения сооЫенаборов, получаемых из источника по 1)Е1, указываемому в командной строке.

Следует, однако, иметь в виду, что сооЫе-наборы используются не на всех веб-сайтах, поэтому нужно еще найти такой веб-сайт, который поддерживает сооЫе-наборы. /* Пример проверки соохзе-наборов. Для того чтобы проверить, какие именно сооЫе-наборы используются на веб-сайте, укажите его имя в командной строке. так, если назвать зту программу соокзеоеюо, то по команде Соо)паеоево ЬССр://взп.сов отобразятся соокзе-наборы с веб-сайта по адресу ннн.юяп.сом. */ оя1по Зуягею; озспо Зуягею.иег; с1азз Соох1еоеюо ( ягагсс поев Ма1п(яггтпэ() агоя) ( 11(агоя.сепЧСП (= 1) ( Глава 26. Сетевые средства подключения к Интернету 1029 Сопяо1е.нггдеЬ1пе("Применение: Соонвеоеио <цг1>")т гегцгп) О Создать объект запроса типа ИеЬВейпеят по указанному ОВ1.

НССрнеЬВейцеяс гец = (НГГриеЬВепцеяс) хеьпечцеяг.сгеасе(агдя(0])т Получить пустой контейнер. гей.соох1есопда1пег = пен СооксеСопдагоег() // Отправить сформированный запрос и получить на него ответ. НдгриеЬВеяропяе геяр = (НГГрИеЬВеяропяе) гей.петкеяропяе()) О Отобразить соохье-наборы. Сопяо1е.нг11евьпе("Количество соохье-наборов: геяр.соойгея.соцпс)," Сопяо1е.нг1педгпс("(0,-20)(1)", "Имя", "Значение" ); гогыпт г=о) 1 < геяр.Соохгея.Соцпг; 1++) Сопяо1е.игьсе1.1пе("(О, -20)(1)", геяр.соох1ея(1].наые, геяр.Соонаея(1).уа1це)) // Закрыть ответный поток.

геяр.С1ояе(); Применение свойства 1.азйМо(1121е(1 Иногда требуется знать, когда именно сетевой ресурс был обновлен в последний раз. Это нетрудно сделать, пользуясь сетевыми средствами класса нс сриеьреяропяе, среди которых определено свойство ЬаяСМобдбеб, приведенное ниже. рцЬТЬс Оасетгте Ьаядмобьссеб ( Чес) ) С помощью свойства Ьазсног(1((е<( получается время обновления содержимого сетевого ресурса в последний раз. В приведенном ниже примере программы отображаются дата и время, когда был в последний раз обновлен ресурс, указываемый по 1]Р<] в командной строке.

/* Использовать свойство Ьаясмобгегеб. ](ля того чтобы проверить дату последнего обновления веб-сайта, введите его ПВТ в командной строке. Так, если назвать зту програьяяу Ьазсмобтттебоеыо, то для проверки даты последней модификации веб-сайта по адресу ннн.негЬБсЬ11бд.соы введите команду Ьаяыам)1Е1ядвавю Ькар: //ВегЪБсь11НС. сов */ цягпо Буясеяо цяьпо Буясеи.нес) с1аяя Ьаятноб111еббеыо ( 1030 Часть 11.

Библиотека С№ ягасзс упса Ма1п (ясггпст[] агпя) ( ЕЕ(агс]я.ьепстСЬ != 1) ( Сопяо1е.иг1беьвпе("Применение: ПяяГМобяагебоето <цг1>") гегцгп) ) нгьриеьнесгяеяг геч = (нгбриеЬнечцеяс) ИеЬНеццевг .Сгеаге (ягэя [0] ) ) нсгриебнеяропяе геяр = (нгьриеЬнеяропяе) тес).оегкеярппяе()) Сопяо1е.игзгеьапе("Последняя модификация: " + геяр.ЬаягнобЕЕЕеб)) геяр.С1ояе(); ) Практический пример создания программы В[1!п1Сга]([/1ег Для того чтобы показать, насколько просто программировать для Интернета средствами классов ИеЬНес[цеяс и ИеЬНеропяе, обратимся к разработке скелетного варианта поискового робота под названием М[п]Стасу!ег. Поисковый робот представляет собой программу последовательного перехода от одной ссылки на сетевой ресурс к другой.

Поисковые роботы применяются в поисковых механизмах для каталогизации содержимого. Разумеется, поисковый робот М(о[Стасу]ег не обладает такими развитыми возможностями, как те, что применяются в поисковых механизмах. Эта программа начинается с ввода пользователем конкретного адреса [1И, по которому затем читается содержимое и осуществляется поиск в нем ссылки. Если ссылка найдена, то программа запрашивает пользователя, желает ли он перейти по этой ссылке к обнаруженному сетевому ресурсу, найти другую ссылку на имеющейся странице или выйти из программы. Несмотря на всю простоту такого алгоритма поиска сетевых ресурсов, он служит интересным и наглядным примером доступа к Интернету средствами СЭ.

Программе МППСгасу1ег присущ ряд ограничений. Во-первых, в ней обнаруживаются только абсолютные ссылки, указываемые по гипертекстовой команде Ьге Е=" Ьббр. Относительные ссылки при этом не обнаруживаются. Во-вторых, возврат к предыдущей ссылке в программе не предусматривается. И в-третьих, в ней отображаются только ссылки, но не окружающее их содержимое.

Несмотря на все указанные ограничения данного скелетного варианта поискового робота, он вполне работоспособен и может быть без особых хлопот усовершенствован для Решения других задач. На самом деле добавление новых возможностей в программу МпцСгамс!ег — это удобный случай освоить на практике сетевые классы и узнать больше о сетевом подключении к Интернету. Ниже приведен полностью исходный код программы Мш[Сгамс]ег. /* МгпЕСгян1егс скелетный вариант поискового робота. Применение: для запуска поискового робота укажите ПН1 в командной строке.

Например, для того чтобы начать поиск с адреса ннн.нсоган-Н111.сои, введите следукщую команду: Млпгстям1ет Ьсср://Мссган-Н111.сож Глава 26. Сетевые средства подключения к Интернету 1031 оявпд Буясеш; пасло Буягеш.нее; оя1по Буяееш. ЬО) с1аяя МгпЬСган1ег ( О Найти ссылку з строке содержимого. ядаС1с яггспд УспбЬ1п)с(ясгспс Ьсш1зег, гет гпС ягагг1ос) ( гпс 1; 1пс ясагс, епс); яггспо игг = пз11) = ЬСш1ягг.тпбех01("Ьгес=1"ЬССр", яеагС1ос, БСгспссолраг1яоп.огб1па11опогесаяе)! 11(1 != -1) ягагС = Ьгш1ягг.тпбехбй('"', г) + 1; епб = Ьгш1ягг.1пбехсг('"', яСагС); ог1 = Ьгш1ягг.зопяег1по(яеагг, епб-ягагС); яеагС1ос = епб; ) гесогп огс; ) ясасгс чо1б маге(зсггпц[) агоя) ( ясг1пч 11пх = пп11т ягг1по ягг! ясг1пп апянег; гпс спг1ос; // содержит текущее положение з ответе 11(агся.ЬепБСЬ != 1) Сопяо1е.нг1СеЬ1пе("Применение: МгпгСгаы1ег <пгс>"); гесогп т ) ягг1по пггяпг = агоя[0); // содержит текущий ПКЬ НССрнеЬКеяропяе геяр = по11) сгу ( бо ( Сопяо1е.Игггенапе("Переход по ссылке " + пг1ягг) О создать объект запроса типа ИеЬКес)пеяС по указанному ОК1.

Характеристики

Тип файла
DJVU-файл
Размер
7,66 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее