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

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 полное руководство - 2011» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0 полное руководство - 2011: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0 полное руководство - 2011»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# 4.0 полное руководство - 2011 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0 полное руководство - 2011», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

MiniCrawler http://McGraw-Hill.com

*/

using System; using System.Net; using System.10;

class MiniCrawler {

// Найти ссылку в строке содержимого, static string FindLink(string htmlstr,

ref int startloc) {

int i;

int start, end; string uri = null;

i = htmlstr.IndexOf("href=\"http", startloc,

StringComparison.OrdinallgnoreCase);

if(i != -1) {

start = htmlstr. IndexOf ( 1111, i) + 1; end = htmlstr. IndexOf ( 1111, start); uri = htmlstr.Substring(start, end-start); startloc = end;

}

return uri;

}

static void Main(string[] args) { string link = null; string str; string answer;

int curloc; // содержит текущее положение в ответе if(args.Length != 1) {

Console.WriteLine ("Применение: MiniCrawler "); return ;

}

string uristr = args[0]; // содержит текущий URI HttpWebResponse resp = null; try { do {

Console .WriteLine ("Переход по ссылке 11+ uristr);

// Создать объект запроса типа WebRequest по указанному URI. HttpWebRequest req = (HttpWebRequest)

WebRequest.Create(uristr);

uristr = null; // запретить дальнейшее использование этого URI

// Отправить сформированный запрос и получить на него ответ, resp = (HttpWebResponse) req.GetResponse();

Stream istrm = resp.GetResponseStream () ;

// Заключить поток ввода в оболочку класса StreamReader. StreamReader rdr = new StreamReader(istrm) ;

// Прочитать всю страницу, str = rdr.ReadToEndO ;

curloc = 0;

do {

// Найти следующий URI для перехода по ссылке, link = FindLink(str, ref curloc);

if(link != null) {

Console.WriteLine("Найдена ссылка: " + link);

Console.Write("Перейти по ссылке, Искать дальше, Выйти?"); answer = Console.ReadLine();

if(string.Equals(answer, "П",

StringComparison.OrdinallgnoreCase)) {

uristr = string.Copy(link); break;

} else if(string.Equals(answer, "B",

StringComparison.OrdinallgnoreCase)) { break;

} else if(string.Equals(answer, "И",

StringComparison.OrdinallgnoreCase)) {

Console.WriteLine("Поиск следующей ссылки.");

}

} else {

Console.WriteLine("Больше ссылок не найдено."); break;

}

} while(link.Length > 0);

// Закрыть ответный поток, if(resp != null) resp.Close();

} while(uristr != null);

} catch(WebException exc) {

Console.WriteLine("Сетевая ошибка: " + exc.Message +

"\пКод состояния: " + exc.Status);

} catch(ProtocolViolationException exc) {

Console.WriteLine("Протокольная ошибка: " + exc.Message);

} catch(UriFormatException exc) {

Console.WriteLine("Ошибка формата URI: " + exc.Message);

} catch(NotSupportedException exc) {

Console.WriteLine("Неизвестный протокол: " + exc.Message);

} catch(IOException exc) {

Console.WriteLine("Ошибка ввода-вывода: " + exc.Message);

} 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 () , возвращающий все содержимое в виде строки из потока ввода.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0 полное руководство - 2011»

Представляем Вашему вниманию похожие книги на «C# 4.0 полное руководство - 2011» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0 полное руководство - 2011»

Обсуждение, отзывы о книге «C# 4.0 полное руководство - 2011» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x