Практическое задание

Эта задача — шаг 11 курса «curl и HTTP-API»

Куда в итоге ведёт ссылка

средне~7 мин

Локальный сервис на http://127.0.0.1:8600/a отвечает редиректом, и не одним. Выясни, сколько было перенаправлений и на каком итоговом адресе запрос остановился, и запиши это одной строкой вида <число> <итоговый URL> в /root/chain.txt.

Что потренируешь:
  • curl -L
  • редиректы
  • -w переменные вывода
  • num_redirects
  • url_effective

Разбор темы

Коды 3xx возвращают адрес следующего шага в заголовке Location; клиент решает сам, идти ли по нему. curl без -L останавливается на первом таком ответе, с -L — проходит цепочку (ограничивая её --max-redirs). Ключ -w печатает после завершения запроса значения внутренних переменных: помимо num_redirects и url_effective есть http_code, time_total, size_download и другие. Это избавляет от разбора заголовков внешними средствами и делает такие проверки пригодными для скриптов и мониторинга.

Что проверяется

  1. число перенаправлений и итоговый адрес верны
  2. в файле ровно одна строка

Как это выглядит