Применение свойства LastModified



 

Иногда требуется знать, когда именно сетевой ресурс был обновлен в последний раз. Это нетрудно сделать, пользуясь сетевыми средствами класса HttpWebResponse, среди которых определено свойство LastModified, приведенное ниже.

 

public DateTime LastModified { get; }

 

С помощью свойства LastModified получается время обновления содержимого сетевого ресурса в последний раз.

В приведенном ниже примере программы отображаются дата и время, когда был в последний раз обновлен ресурс, указываемый по URI в командной строке.

 

/* Использовать свойство LastModified.

Для того чтобы проверить дату последнего обновления веб-сайта, введите его URI в командной строке. Так, если назвать эту программу LastModifiedDemo, то для проверки даты последней модификации веб-сайта по адресу  www.HerbSchildt.com  введите команду

LastModif iedDemo http: //HerbSchildt. com

*/

using System;

using System.Net;

class LastModifiedDemo {

static void Main(string[] args) {

if (args.Length != 1) {

Console.WriteLine("Применение: LastModifiedDemo <uri>"); return;

}

HttpWebRequest req = (HttpWebRequest)

WebRequest.Create(args[0]);

HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

Console.WriteLine("Последняя модификация: " + resp.LastModified);

resp.Close();

}

}

 

Практический пример создания программы MiniCrawler

 

Для того чтобы показать, насколько просто программировать для Интернета средствами классов WebRequest и WebReponse, обратимся к разработке скелетного варианта поискового робота под названием MiniCrawler. Поисковый робот представляет собой программу последовательного перехода от одной ссылки на сетевой ресурс к другой. Поисковые роботы применяются в поисковых механизмах для каталогизации содержимого. Разумеется, поисковый робот MiniCrawler не обладает такими развитыми возможностями, как те, что применяются в поисковых механизмах. Эта программа начинается с ввода пользователем конкретного адреса URI, по которому затем читается содержимое и осуществляется поиск в нем ссылки. Если ссылка найдена, то программа запрашивает пользователя, желает ли он перейти по этой ссылке к обнаруженному сетевому ресурсу, найти другую ссылку на имеющейся странице или выйти из программы. Несмотря на всю простоту такого алгоритма поиска сетевых ресурсов, он служит интересным и наглядным примером доступа к Интернету средствами С#.

Программе MiniCrawler присущ ряд ограничений. Во-первых, в ней обнаруживаются только абсолютные ссылки, указываемые по гипертекстовой команде href="http. Относительные ссылки при этом не обнаруживаются. Во-вторых, возврат к предыдущей ссылке в программе не предусматривается. И в-третьих, в ней отображаются только ссылки, но не окружающее их содержимое. Несмотря на все указанные ограничения данного скелетного варианта поискового робота, он вполне работоспособен и может быть без особых хлопот усовершенствован для решения других задач. На самом деле добавление новых возможностей в программу MiniCrawler — это удобный случай освоить на практике сетевые классы и узнать больше о сетевом подключении к Интернету. Ниже приведен полностью исходный код программы MiniCrawler.

 

/* MiniCrawler: скелетный вариант поискового робота.

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

MiniCrawler http://McGraw-Hill.com

*/

using System;

using System.Net;

using System.IO;

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.OrdinalIgnoreCase);

if (i != -1) {

start = htmlstr.IndexOf('"', i) + 1;

end = htmlstr.IndexOf('"', start);

uri = htmlstr.Substring(start, end - start);

startloc = end;

}

return uri;

}

static void Main(string[] args) {

string link = null; string str; string answer;


Дата добавления: 2019-02-12; просмотров: 252; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!