Чтение онлайн

ЖАНРЫ

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

} finally {

if(resp != null) resp.Close;

Console.WriteLine("Завершение программы MiniCrawler.");

}

}

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

Переход по ссылке http://mcgraw-hill.com

Найдена

ссылка:
http://sti.mcgraw-hill.com:9000/cgi-bin/query?mss=search&pg=aq Перейти по ссылке, Искать дальше, Выйти? И Поиск следующей ссылки.

Найдена ссылка: http: //investor .mcgraw-hill. com/phoenix. zhtml?c=96562&p=irol-irhome Перейти по ссылке,'Искать дальше, Выйти? П

Переход по ссылке http://investor.mcgraw-hill .com/phoenix. zhtml?c=96562&p=irol-irhome

Найдена ссылка: http://www.mcgraw-hill.com/index.html

Перейти по ссылке, Искать дальше, Выйти? П

Переход по ссылке http://www.mcgraw-hill.com/index.html

Найдена ссылка: http://sti.mcgraw-hill.com:9000/cgi-bin/query?mss=search&pg=aq Перейти по ссылке, Искать дальше, Выйти? В Завершение программы MiniCrawler.

Рассмотрим подробнее работу программы MiniCrawler. Она начинается с ввода пользователем конкретного URI в командной строке. В методе Main этот URI сохраняется в строковой переменной uristr. Затем по указанному URI формируется запрос, и переменной uristr присваивается пустое значение, указывающее на то, что данный URI уже использован. Далее отправляется запрос и получается ответ. После этого содержимое читается из потока ввода, возвращаемого методом GetResponseStream и заключаемого в оболочку класса StreamReader. Для этой цели вызывается метод ReadToEnd , возвращающий все содержимое в виде строки из потока ввода.

Далее программа осуществляет поиск ссылки в полученном содержимом. Для этого вызывается статический метод FindLink , определяемый в программе MiniCrawler. Этот метод вызывается со строкой содержимого и исходным положением, с которого начинается поиск в полученном содержимом. Эти значения передаются методу FindLink

в виде параметров
htmlstr и startloc соответственно. Обратите внимание на то, что параметр startloc относится к типу ref. Сначала в методе FindLink создается копия строки содержимого в нижнем регистре, а затем осуществляется поиск подстроки href="#"text_empty-line">

Свойство

Описание

public string BaseAddress { get; set; }

public RequestCachePolicy CachePolicy { get; set; } public ICredentials Credentials { get; set; }

public Encoding Encoding { get; set; }

Получает или устанавливает базовый адрес требуемого URI. Если это свойство установлено, то адреса, задаваемые в методах класса WebClient, должны определяться относительно этого базового адреса Получает или устанавливает правила, определяющие, когда именно используется кэш1 Получает или устанавливает мандат, т.е. учетные данные пользователя. По умолчанию это свойство имеет пустое значение

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

Свойство

Описание

public WebHeaderCollection Headers! get; set; } public bool IsBusy( get; }

public IWebProxy Proxy { get; set; }

,public NameValueCollection QueryString { get; set; }

public WebHeaderCollection ResponseHeaders{ get; } public bool

UseDefaultCredentials { get; set; }

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

Принимает логическое значение true, если данные по-прежнему передаются по запросу, а иначе — логическое значение false Получает или устанавливает прокси-сервер

Получает или устанавливает строку запроса, состоящую из пар “имя-значение”, которые могут быть присоединены к запросу. Строка запроса отделяется от URI символом ?. Если же таких пар несколько, то каждая из них отделяется символом 0 Получает коллекцию заголовков ответа

Поделиться с друзьями: