Os parâmetros -L (--location)
e-I (--head)
ainda fazendo HEAD-request desnecessária para o location-url.
Se você tem certeza de que não terá mais de um redirecionamento, é melhor desabilitar o local de seguimento e usar uma variável curl% {redirect_url}.
Este código faz apenas uma solicitação HEAD para o URL especificado e pega redirect_url do cabeçalho do local:
curl --head --silent --write-out "%{redirect_url}\n" --output /dev/null "https://""goo.gl/QeJeQ4"
Teste rápido
all_videos_link.txt
- 50 links de goo.gl + bit.ly que redirecionam para o youtube
1. Com seguir localização
time while read -r line; do
curl -kIsL -w "%{url_effective}\n" -o /dev/null $line
done < all_videos_link.txt
Resultados:
real 1m40.832s
user 0m9.266s
sys 0m15.375s
2. Sem seguir localização
time while read -r line; do
curl -kIs -w "%{redirect_url}\n" -o /dev/null $line
done < all_videos_link.txt
Resultados:
real 0m51.037s
user 0m5.297s
sys 0m8.094s