Данная статья подойдет для тех людей, которые делают приложения и не могут обойти CloudFlare на сайтах. Для реализации данной задачи понадобится: Leaf-XNet(Клац) - Библиотека подобная XNet, но со своими фишками. Чтобы обойти 5-ти секундную защиту нужно обработать JavaScript на сайте и получить куки, которые работают некоторое время для определенного IP-адреса. Минусы: данный метод работает только при включенной Re-Captcha. Итак приступим к реализации: Идем в Nuget и скачиваем пакет Leaf-XNet(Клац). Дальше используем: Используем пакет: using Leaf.xNet; using Leaf.xNet.Services.Cloudflare; Код using Leaf.xNet; using Leaf.xNet.Services.Cloudflare; Полный код: Создаем и инициализируем новую переменную(Словарь) для хранения куков. Dictionary<string, string> Cookies = new Dictionary<string, string>(); //Инициализируем новый экземпляр класса HttpRequest в переменную Request. using (var Request = new HttpRequest()) { try { //С помощью переменной Request выполняем переход на нужный сайт. var ResponseCookies = Request.GetThroughCloudflare("Адрес сайта").Cookies; //Если все без ошибочно, то CloudFlare обработан и теперь вытаскиваем куки. foreach (Cookie _Cookie in ResponseCookies.GetCookies("Адрес сайта")) { MessageBox.Show(_Cookie.Name, _Cookie.Value); Cookies.Add(_Cookie.Name, _Cookie.Value); } //Дальше перекидываете куки из словоря(Cookies) куда вам угодно, в обычный XNet или же HttpWebRequest. } catch { //Действия при ошибке. } finally { //Действия при окончание блока try. Request?.Dispose(); } } Код Создаем и инициализируем новую переменную(Словарь) для хранения куков. Dictionary<string, string> Cookies = new Dictionary<string, string>(); //Инициализируем новый экземпляр класса HttpRequest в переменную Request. using (var Request = new HttpRequest()) { try { //С помощью переменной Request выполняем переход на нужный сайт. var ResponseCookies = Request.GetThroughCloudflare("Адрес сайта").Cookies; //Если все без ошибочно, то CloudFlare обработан и теперь вытаскиваем куки. foreach (Cookie _Cookie in ResponseCookies.GetCookies("Адрес сайта")) { MessageBox.Show(_Cookie.Name, _Cookie.Value); Cookies.Add(_Cookie.Name, _Cookie.Value); } //Дальше перекидываете куки из словоря(Cookies) куда вам угодно, в обычный XNet или же HttpWebRequest. } catch { //Действия при ошибке. } finally { //Действия при окончание блока try. Request?.Dispose(); } } Итак, что здесь происходит, сначала используем скачанные пакеты Leaf-XNet. И уже инициализируем наш словарь(Cookies) для хранения куков и дальнейшего использования в XNet/Leaf-XNet/HttpWebRequest. Дальше мы инициализируем новый экземпляр класса HttpRequest в переменную Request, а переменная ResponseCookies получает результат(В нашем случае куки) после выполнения работы переменной Request. После из ответа(ResponseCookies) вытаскиваем куки в словарь(Cookies). А после из словаря(Cookies) куда вам угодно. В следующей статье выложу свой класс для более простой реализации без использования Leaf-XNet, а также без зависимости от Re-Captcha.