Проверка ссылки на битость - C#
Формулировка задачи:
Пытаюсь написать метод, который собирает все внутренний ссылки сайта в список.
Помогите, пожалуйста, с реализацией
проверки найденных ссылок, которые могут не существовать
.public List<string> build_tree(string adress) // поиск всех внутренних ссылок сайта
{
List<String> A=new List<String>(); //динамический список всех ссылок
A.Add(adress);
string code_h="";
int i=0;
bool fl=false;
string pattern="(?<=<a href=\")\\S+(?=\">)"; // регулярка для нахождения ссылок
do
{
code_h = get_html(A[i]); // строка с html кодом текущей страницы
foreach (Match match in Regex.Matches(code_h, pattern))
{
fl = false;
for (int p = 0; p < A.Count; p++) // цикл проверки уникальности ссылки
{
if (match.Groups[1].Value == A[p])
{
fl = true;
break;
}
}
if (fl == false)
{
A.Add(match.Value);
}
}
i++;
}
while (i != A.Count);
return A;
}Решение задачи: «Проверка ссылки на битость»
textual
Листинг программы
bool IsPageExists(string url)
{
try
{
WebClient client = new WebClient();
client.DownloadString(url);
}
catch (WebException ex)
{
HttpWebResponse response = ex.Response != null ? ex.Response as HttpWebResponse : null;
if (response != null && response.StatusCode == HttpStatusCode.NotFound)
{
return false;
}
}
return true;
}