/Разборы задач
31 октября 2026
Райтап на задачу «Точность+»
Разбираем различия преобразования чисел в калькуляторе и получаем результат за пределами ограничений.5
6

Misc
Задача «РоБОТы 2»
Откроем страницу и нажмём кнопку «Запустить». Нам надо определить функцию solve(url: str), которая должна обойти проверку условного Cloudflare. Если вы незнакомы с тем, как можно определить, бот это или нет, то давайте загуглим, как это можно определить.
Первая ссылка говорит, что запросы, отправляемые с помощью Python requests можно легко фингерпринтить по отпечатку TLS (JA3). Дело в том, что при открытии TLS-сессии в пакете ClientHello пользователь отправляет поддерживаемый набор алгоритмов. И этот набор у requests и какого-нибудь Chrome будет отличаться.
Можно бесконечно подделывать User-Agent, но всё равно вас определят, если вы будете использовать openssl под капотом (Python requests), а не boringssl как в Chrome.
Загуглим, как это обойти.
Попробуем использовать библиотеку curl_cffi.
Никаких ошибок нет, значит в той среде, где выполняется этот код, эта библиотека установлена.
Можно прикидываться разными браузерами или использовать иные библиотеки, например в этой среде есть ещё tls_client.