--- title: Обработать HTTP redirect description: Следуйте Location внутри общего цикла попыток. sources: - eazy_sdk.clients.CallOptions api_fingerprint: "sha256:8e7d84406d37526f806419393dd060ef79e8e4ba539a74ba86b25276692b5ec9" --- Отключите автоматические redirects у transport adapter. Тогда Eazy SDK проверит лимит, область credentials и безопасность повторной отправки перед переходом. ```{literalinclude} ../../../../../../examples/docs/reliability_redirect.py :language: python :start-after: "# region docs: reliability-redirect" :end-before: "# endregion docs: reliability-redirect" ``` :::{dropdown} Файл целиком ```{literalinclude} ../../../../../../examples/docs/reliability_redirect.py :language: python ``` ::: ```text result: redirected GET api.mail.example/redirect GET api.mail.example/final ``` | Статус | Следующий method | Тело | |---|---|---| | `301`, `302` | По redirect policy | Обычно удаляется при переходе на `GET` | | `303` | `GET` | Удаляется | | `307`, `308` | Сохраняется | Требует replay-safe body | Каждый переход повторно применяет scoped middleware, авторизацию, подготовку и подпись. Неожиданный authority не получает credentials автоматически. Исчерпание `max_redirects` приводит к `RedirectLimitError`. `Resilience(max_redirects=N, client_redirects=True)` добавляет к статусам переход, записанный в странице тегом ``. Он выполняется запросом `GET`, расходует тот же запас и срабатывает, только если страницу не приняла ни одна модель операции. Тег внутри `