Ошибки · Решение
curl error 22: HTTP response >=400 with fail option
Это не отдельный HTTP-статус: код 22 — локальный exit code curl, сигнализирующий о неуспешном HTTP-ответе при соответствующей опции.
Короткий ответ
Код 22 используется curl для HTTP-ошибки при включённом `--fail` или `--fail-with-body`, когда сервер вернул статус 400 или выше.
Что означает ошибка
Это не отдельный HTTP-статус: код 22 — локальный exit code curl, сигнализирующий о неуспешном HTTP-ответе при соответствующей опции.
Возможные причины
- Endpoint вернул 4xx из-за запроса или авторизации.
- Удалённый сервер вернул 5xx.
- CI использует `--fail`, поэтому HTTP-статус преобразуется в ненулевой exit code.
Что проверить
- Выведите `%{http_code}` через `--write-out`.
- Посмотрите тело ответа с `--fail-with-body`, если оно безопасно для логов.
- Разделите диагностику HTTP-кода и самого exit code 22.
Безопасные шаги
- Исправляйте первопричину конкретного HTTP 4xx/5xx.
- Не удаляйте `--fail` только ради зелёного CI.
- Для ретраев повторяйте лишь временные серверные/сетевые ошибки, а не любой код 22.
Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.
Когда нужен сервис
- Если `--fail` возвращает 22 в автоматизации, сохраните фактический HTTP-статус и безопасный фрагмент ответа: именно их нужно передать владельцу API, а не только exit code curl.
Похожие ошибки
- /errors/curl-error-1-unsupported-protocol/
- /errors/curl-error-2-failed-init/
- /errors/curl-error-4-feature-not-built-in/
Что учитывать
Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.
Официальный источник
Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.