Если есть что то, кидай сюда.Скиньте интересующие вас сайты в личку проверю одно рабочее решение обхода договоримся если получится))
Если есть что то, кидай сюда.Скиньте интересующие вас сайты в личку проверю одно рабочее решение обхода договоримся если получится))
Добрый день, работает ли данный метод сейчас?
Тут посмотритеНе работает без правки, на сколько я помню уже были изменения, если библиотеку не правили то не работает.
Valandersi, данная ссылка мертва. Не могли бы вы уточнить в чем заключается основная суть нового челенджа?
Не мертва ссылка. Просто там раздел не для новичков, а для клиентов зеннопостераValandersi, данная ссылка мертва. Не могли бы вы уточнить в чем заключается основная суть нового челенджа?
Заранее мерси!
Понял, спасибо. А сутью не поделитесь?Не мертва ссылка. Просто там раздел не для новичков, а для клиентов зеннопостера
Вижу ты силён в теме cloudflareСлишком замороченное решение, на мой взгляд. Всё отлично работает и решается в 130-150 строк кода без всяких доп. библиотек и на форуме даже где-то было такое решение.
Добрый вечер, прошу прощения, что пишу в выходной.А чем замороченное? Что библиотеки добавлять? Ну хз для меня это не проблема.
Насчет 130-150 строчек. Ну тут все решение по сути укладывается в 35 строк кода. Можно поджать и до 25.
Остальное это вспомогательные методы, которые у меня вынесены в отдельный класс, тут же просто запихал все в один.
Защиту можно обойти двумя способами. Или выполнить js скрипт, чтобы сформировать урл для запроса, или расковырять js скрипт и из него самому сформировать урл.
Я делал через Jint, основное решение выглядело примерно так.
Про то что ты пишешь, там идет расковыривание js сркипта. И там скорее всего решение выдрано из CloudFlareUtilities.
Во сколько строчек кода, и только ли кода, не помню как там сделано.
https://github.com/elcattivo/CloudFlareUtilities/blob/master/CloudFlareUtilities/ChallengeSolver.cs
Вот тут собственно и формируется урл для запроса.
А насчет кол-ва строк, я не стремлюсь сделать все максимально компактно, пусть лучше будет больше кода, разнесено в отдельные классы и методы, но зато это воспринимается проще, чем когда все в кучу.
Но каждому свое.
Вряд ли актуальны, клауд очень часто обновляется. Сайт приватный? оставили бы тут, может кто и подскажетСоветы из первого поста ещё актуальны? Любой get к сайту отправляю - возвращает Just a moment.... Из браузера проблем никаких нет. В заголовках у каждого запроса отследил меняется только конкретная часть sentry-trace: 9c50147ae8aa4619823ebba8e05b3f0c-bd987602eea3f439-1
Бро поделись свежим решением... СпасибоПериодически на форуме возникает вопрос, как же ее обойти.
Обойти ее можно несколькими вариантами.
На форуме уже выкладывались решения в том или ином формате, но в большинстве случаев это достаточно громоздкие решения, к примеру с кучей кубиков, которые не удобно таскать из проекта в проект.
Так как же сделать так, чтобы это было удобно?
По началу использовал 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, то значит защиту пробить не получилось.
Дальше добавляем эти куки к основным и работаем.
Обнови зеннопостер у меня было какое то решение с форума недавно перестало работать на версии 7.7.0 обновил до 7.7.11 все заработалоБро поделись свежим решением... Спасибо