Get Redirect URL with cURL

By  on  

URL redirects can be glorious or annoying depending on which side of them you are on and which side you want to be on.  Redirects are helpful for vanity URLs (useful in advertising) but sometimes they're annoying in that they could potentially break your code if you encounter a redirect you weren't anticipating.

The useful and amazing cURL command line utility allows you to fetch an address and return its final destination URL:

# "/css" doesn't exist but WordPress tries to find the closest match
# and then redirects to it ("/css-animation-callback")

curl -Ls -w %{url_effective} -o /dev/null https://davidwalsh.name/css

# Outputs: https://davidwalsh.name/css-animation-callback

The url_effective variable is what we're after.  The L directive tells cURL to follow redirects, the s directive tells cURL to be silent (i.e. not output the page contents).  You provide the URL, cURL follows it to its endpoint -- easy!

Recent Features

  • By
    Chris Coyier’s Favorite CodePen Demos

    David asked me if I'd be up for a guest post picking out some of my favorite Pens from CodePen. A daunting task! There are so many! I managed to pick a few though that have blown me away over the past few months. If you...

  • By
    Animated 3D Flipping Menu with CSS

    CSS animations aren't just for basic fades or sliding elements anymore -- CSS animations are capable of much more.  I've showed you how you can create an exploding logo (applied with JavaScript, but all animation is CSS), an animated Photo Stack, a sweet...

Incredible Demos

  • By
    GitHub-Style Sliding Links

    GitHub seems to change a lot but not really change at all, if that makes any sense; the updates come often but are always fairly small. I spotted one of the most recent updates on the pull request page. Links to long branch...

  • By
    MooTools 1.2 Tooltips: Customize Your Tips

    I've never met a person that is "ehhhh" about XHTML/javascript tooltips; people seem to love them or hate them. I'm on the love side of things. Tooltips give you a bit more information about something than just the element itself (usually...

Discussion

  1. J-K. Solbakken

    Follow a URL using JavaScript: https://www.npmjs.com/package/linkfollower

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!