Get Redirect URL with cURL
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!
![Send Text Messages with PHP]()
Kids these days, I tell ya. All they care about is the technology. The video games. The bottled water. Oh, and the texting, always the texting. Back in my day, all we had was...OK, I had all of these things too. But I still don't get...
![fetch API]()
One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for. We've done well to create elegant APIs around XHR but we know we can do better. Our effort to...
![Flexbox Equal Height Columns]()
Flexbox was supposed to be the pot of gold at the long, long rainbow of insufficient CSS layout techniques. And the only disappointment I've experienced with flexbox is that browser vendors took so long to implement it. I can't also claim to have pushed flexbox's limits, but...
![Adding Events to Adding Events in MooTools]()
Note: This post has been updated.
One of my huge web peeves is when an element has click events attached to it but the element doesn't sport the "pointer" cursor. I mean how the hell is the user supposed to know they can/should click on...
Follow a URL using JavaScript: https://www.npmjs.com/package/linkfollower