Just a tiny thing but handy and I couldn’t find it anywhere else (I’m new to Ruby and I’m coding by google so don’t expect great style here, but this seems to work):
require 'net/http'
require 'uri'
url = URI.parse "http://bit.ly/1Zw502"
if url.path.size > 0
# catches case where you get an url like
# http://planetrdf.com with no slash
# this catches this but doesn't look it up
req = Net::HTTP::Get.new(url.path)
begin
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPRedirection
uu = res['Location']
puts uu
end
end
end
uu is the expanded url. Is there a better way than this? Is it me or is Ruby documentation a bit thin on the ground? (Thanks to Damian for pointing out to me how tinyurls work – I’d never bothered to look before!)
Thanks! This was really helpful to me 🙂
Thanks 🙂 used in http://svn.foaf-project.org/foaftown/2008/foaf.tv/boxee_twitter2activities.rb