У нас есть инструмент, который проверяет, является ли данный URL действующим URL.Если данный URL-адрес активен, другая часть нашего программного обеспечения может просмотреть его содержимое.
Это мой код для проверки, является ли URL активным
public static bool IsLiveUrl(string url)
{
HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5";
webRequest.CookieContainer = new CookieContainer();
WebResponse webResponse;
try
{
webResponse = webRequest.GetResponse();
}
catch (WebException e)
{
return false;
}
catch (Exception ex)
{
return false;
}
return true;
}
Этот код работает отлично, нодля конкретного сайта, размещенного на Apache, я получаю веб-исключение со следующим сообщением.«Удаленный сервер возвратил ошибку: (403) Запрещено». При дальнейшей проверке я обнаружил следующие данные в объекте WebException
Status = «ProtocolError» StatusDescription = «Плохое поведение»
Этозаголовок запроса «Пользователь-агент: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.8.0.6) Gecko / 20060728 Firefox / 1.5 Хост: scenicspares.co.uk Соединение: Keep-Alive»
Это заголовок ответа "Keep-Alive: timeout = 4, max = 512 Соединение: Keep-Alive Transfer-Encoding: chunked Тип контента: text / html Дата: чт, 13 января 2011 10:29:36 GMT Сервер: Apache "
Я извлек эти заголовки, используя часы в vs2008.Фрейм работы в использовании составляет 3,5.