Параметры -L (--location)
и -I (--head)
все еще делают ненужный HEAD-запрос к URL-адресу местоположения.
Если вы уверены, что у вас будет не более одного редиректа, лучше отключить отслеживание местоположения и использовать переменную curl% {redirect_url}.
Этот код выполняет только один HEAD-запрос к указанному URL-адресу и берет redirect_url из заголовка местоположения:
curl --head --silent --write-out "%{redirect_url}\n" --output /dev/null "https://""goo.gl/QeJeQ4"
Тест скорости
all_videos_link.txt
- 50 ссылок goo.gl + bit.ly, которые перенаправляют на YouTube
1. С указанием местоположения
time while read -r line; do
curl -kIsL -w "%{url_effective}\n" -o /dev/null $line
done < all_videos_link.txt
Полученные результаты:
real 1m40.832s
user 0m9.266s
sys 0m15.375s
2. Без указания местоположения
time while read -r line; do
curl -kIs -w "%{redirect_url}\n" -o /dev/null $line
done < all_videos_link.txt
Полученные результаты:
real 0m51.037s
user 0m5.297s
sys 0m8.094s