Проверка ссылки на битость - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д