- Регистрация
- 26.09.2015
- Сообщения
- 509
- Благодарностей
- 824
- Баллы
- 93
Обойти ее можно несколькими вариантами.
На форуме уже выкладывались решения в том или ином формате, но в большинстве случаев это достаточно громоздкие решения, к примеру с кучей кубиков, которые не удобно таскать из проекта в проект.
Так как же сделать так, чтобы это было удобно?
По началу использовал Jint в который пихал js скрипт полученный с сайта при заходе на который всплывала защита cloudflare, парсил параметры, остылал запросы, и т.д.
Плюс пробить cloudflare с первой попытки бывает не всегда получается, т.е надо отсылать запросы, смотреть что получилось, и так несколько раз. В общем не совсем удобно.
Потом наткнулся на CloudFlareUtilites в котором уже есть все что надо, т.е. сам механизм обхода защиты. В итоге отдаются куки, которые можно использовать в дальнейшем.
Осталось поверх этого решения сделать свою обвязку из кода для удобства использования.
В дальнейшем был сделан класс, который удобно юзать и в ZennoPoster, и в своих прогах.
В итоге, чтобы обойти защиту cloudflare в ZennoPoster, надо сделать несколько простых шагов.
1. Добавить в OwnCode класс CloudFlareBreaker и необходимые namespace
2. Добавить необходимые библиотеки
System.Net.Http и System.Runtime это системные библиотеки.
CloudFlareUtilites необходимо добавить в ExternalAssemblies в папке ZennoPoster
3. Использовать
Создаем объект класса CloudFlareBreaker, инициализируем св-ва.
Address - адрес сайта
Proxy - прокси
UserAgent - юзерагент
MaxRetries - кол-во попыток пробива cloudlfare
Дальше вызываем метод Break
После этого куки для обхода cloudlfare можно получить в двух форматах:
string - удобно юзать в ZennoPoster
CookieContainer - его удобно использовать в своих прогах, или в ZennoPoster, если работать с .Net классами напрямую. Также его можно передавать через project.Context в самом ZennoPoster.
Соответственно есть два метода GetCookieContainer и GetCookieStr через которые и получаем куки. Если эти методы возвращают null, то значит защиту пробить не получилось.
Дальше добавляем эти куки к основным и работаем.
- Категория
- Полезно
Вложения
-
30,7 КБ Просмотры: 1 573
Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: