curb snippets

How to find out where a URL redirects with Ruby and Curl

Tagged curl, redirect, curb  Languages ruby
text = %x[curl -L -i ""]
url = text.scan(/Location: ([^\n]+)/).flatten.last

With the Curb wrapper for Curl you could do this:

result = Curl::Easy.perform(link) do |curl| 
  curl.headers["User-Agent"] = "..."
  curl.verbose = true
  curl.follow_location = true
result.last_effective_url # Returns the final destination URL after x redirects...
result.url # Returns the original url which is redirecting...