Я бы хотел использовать curl
для отправки HTTP-запроса HEAD на URL-адрес, чтобы убедиться, что он работает правильно (сервер работает и отправляет успешный ответ). В конце мне нужен окончательный возвращенный код ответа HTTP и URL-адрес (после выполнения любых перенаправлений). Наконец, мне нужно установить жесткий тайм-аут (период времени, по истечении которого вызов завершится ошибкой, независимо от того, где в запросе curl
является).
Делает curl
поддерживать все это? Какие варианты мне нужно использовать для этого?
curl -I
сгенерирует запрос HEAD.
Добавление -L
опция заставит его следовать перенаправлениям.
Тайм-ауты можно контролировать с помощью нескольких опций, в зависимости от того, какой бит запроса вы хотите отсрочить.
--connect-timeout <seconds>
Maximum time in seconds that you allow the connection to the server to take. This only limits the connection phase, once curl has connected this option is of no more use. See also the -m/--max-time option.
-m/--max-time <seconds>
Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. See also the --connect-timeout option.
Также стоит обратить внимание на еще пару вариантов, связанных с тайм-аутом:
--retry
--retry-delay
--retry-max-time