Обработать Cloudflare Challenge Pages#
Пресет распознаёт страницу проверки по заголовку cf-mitigated: challenge и типу HTML. Одного
кода состояния недостаточно.
Создайте описание защиты для нужного узла:
# examples/docs/integration_cloudflare.py
challenge = cloudflare.challenge_pages(scope=host("api.mail.example"))
Файл целиком
"""Construct a Cloudflare Challenge Pages protection preset."""
from __future__ import annotations
from eazy_sdk.protection import host
from eazy_sdk_presets import cloudflare
def main() -> None:
# docs:integration-cloudflare:start
# examples/docs/integration_cloudflare.py
challenge = cloudflare.challenge_pages(scope=host("api.mail.example"))
# docs:integration-cloudflare:end
print(f"protection: {challenge.id}")
if __name__ == "__main__":
main()
protection: cloudflare.challenge-pages
Перед использованием привяжите решатель, который возвращает CloudflareClearance. Исполнитель
проверит cookies, применит их одной закрытой группой и безопасно повторит запрос. Повторная
подтверждённая проверка отменяет прежнее разрешение перед новым решением.
Пресет сам не запускает браузер. Если решателю и HTTP-клиенту нужен общий сетевой путь, создайте их из одной фиксированной сессии. При смене прокси или профиля имитации создайте новый клиент.