Читать «C# 4.0 полное руководство - 2011» онлайн - страница 640
Герберт Шилдт
// Отправить сформированный запрос и получить на него ответ.
HttpWebResponse resp = (HttpWebResponse) req.GetResponse ();
// Отобразить cookie-наборы.
Console.WriteLine("Количество cookie-наборов: " + resp.Cookies.Count);
Console.WriteLine("{0,-20}{1}", "Имя", "Значение"); for(int i=0; i < resp.Cookies.Count; i++)
Console.WriteLine("{0, -20}{1}",
resp.Cookies[i].Name, resp.Cookies[i].Value);
// Закрыть ответный поток, resp.Close ();
}
}
Применение свойства 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;
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
Программе MiniCrawler присущ ряд ограничений. Во-первых, в ней обнаруживаются только абсолютные ссылки, указываемые по гипертекстовой команде href="http. Относительные ссылки при этом не обнаруживаются. Во-вторых, возврат к предыдущей ссылке в программе не предусматривается. И в-третьих, в ней отображаются только ссылки, но не окружающее их содержимое. Несмотря на все указанные ограничения данного скелетного варианта поискового робота, он вполне работоспособен и может быть без особых хлопот усовершенствован для решения других задач. На самом деле добавление новых возможностей в программу MiniCrawler — это удобный случай освоить на практике сетевые классы и узнать больше о сетевом подключении к Интернету. Ниже приведен полностью исходный код программы MiniCrawler.