Параметри -L (--location)
і -I (--head)
все ще роблять зайвий HEAD-запит до URL-адреси місцезнаходження.
Якщо ви впевнені, що у вас буде не більше одного переадресації, краще вимкнути наступне місцезнаходження та використовувати змінну curl% {redirect_url}.
Цей код виконує лише один HEAD-запит на вказану URL-адресу і приймає redirect_url з Location-header:
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