Follow URL Redirects with Node.js

By  on  

URL shorteners are a dime a dozen these days, and it is quite nice to have a pretty URL instead of a mile long string, but there are some downsides to URL shorteners:  they can mask dangerous URLs and getting to the endpoint can be slow, since you end up making multiple requests.  And what if a shortener sold out to a porn company?!  Whoa!

A while back I wrote a post about following URLs from command line with cURL.  Since I love JavaScript and Node.js is in full flight, I want to show you linkfollower, a Node.js utility for following URL redirects and getting the final landing URL.

Start by installing linkfollower:

yarn add linkfollower
# or `npm install linkfollower`

With linkfollower installed globally, we can use the follow command to follow the series of redirects until the final URL:

# follow {url}
follow http://davidwalsh.name/css

# RESULT:
# http://davidwalsh.name/css -> 301
# https://davidwalsh.name/css -> 301
# https://davidwalsh.name/css-animation-callback -> 200

URL shorteners can be likened to a blindfold -- the promise of going one place but possible end up in another.  Using linkfollower is a good practice if you care to be secure with links.

Recent Features

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

  • 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...

Incredible Demos

  • By
    CSS Kwicks

    One of the effects that made me excited about client side and JavaScript was the Kwicks effect.  Take a list of items and react to them accordingly when hovered.  Simple, sweet.  The effect was originally created with JavaScript but come five years later, our...

  • By
    Animated AJAX Record Deletion Using jQuery

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with jQuery JavaScript. The PHP - Content & Header The following snippet goes at the...

Discussion

  1. The request module (https://github.com/request/request) also does this very nicely with followRedirect parameter (maxRedirects is also another handy parameter to deal with loops).

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