public async void ButtonClicked() { var temp = await LoadSites(); Errors er = new Errors(); int page_count = 0; foreach (var t in temp) { try { XmlDocument doc = new XmlDocument(); Name += "Идет проверка " + t.Key + "\n"; var r = await GET(t.Value); doc.LoadXml(r); XmlNodeList urlNodes = doc.GetElementsByTagName("loc"); Name2 = "Проверено 0 из " + urlNodes.Count + " страниц"; int count_page_site = 0; foreach (XmlNode url in urlNodes) { int count = 0; K: Thread.Sleep(200); var r2 = await GET(url.InnerText); if (string.IsNullOrEmpty(r2)) { if (count < 3) { count++; goto K; } else { if (r2.ToLower().Contains("произошла ошибка безопасности")) { er.AddList(new Error { SiteName = "Сайт " + t.Key, ErrorName = "Отсутствует SSL", UrlName = url.InnerText }); } else { er.AddList(new Error { SiteName = "Сайт " + t.Key, ErrorName = "Страница отсутствует", UrlName = url.InnerText }); } } } else if (r2.ToLower().Contains("php")) { er.AddList(new Error { SiteName = "Сайт " + t.Key, ErrorName = "Ошибка backend PHP", UrlName = url.InnerText }); } page_count++; count_page_site++; Name2 = "Проверено " + count_page_site + " из " + urlNodes.Count + " страниц"; if (count_page_site == urlNodes.Count) { r = await GET("https://" + t.Key + "/" + test_str); if (!r.Contains("\"redirect\":")) { er.AddList(new Error { SiteName = "Сайт " + t.Key, ErrorName = "Анкета не работает", UrlName = "https://" + t.Key + "/form" }); } } } } catch { er.AddList(new Error { SiteName = "Сайт " + t.Key, ErrorName = "Ошибка: проблема с сайтов. Срочно проверить.", UrlName = t.Key }); } } Name += "Проверка завершена! Проверено страниц: " + page_count + "\n"; if (er.GetList().Count > 0) { Name += "Обнаружено ошибок: " + er.GetList().Count + "\n"; foreach (var t in er.GetList()) { Name += t.SiteName + " Ошибка: " + t.ErrorName + " Страница: " + t.UrlName + "\n"; } } else { Name += "Ошибок не обнаружено!"; } }