curl‘s -w option and the sub variable url_effective is what you are
looking for.
Something like
curl -Ls -o /dev/null -w %{url_effective} http://google.com
More info
-L Follow redirects -s Silent mode. Don't output anything -o FILE Write output to <file> instead of stdout -w FORMAT What to output after completion
More
You might want to add -I (that is an uppercase i) as well, which will make the command not download any “body”, but it then also uses the HEAD method, which is not what the question included and risk changing what the server does. Sometimes servers don’t respond well to HEAD even when they respond fine to GET.