Bei vielen Diensten wie z.B. Twitter werden mittlerweile statt normalen URLs verkuerzte abgeschickt. Sollte man mal auf die Idee kommen diese wieder in Orginalform haben zu wollen, koennte man dazu fuer jeden der bekannten Dienste Methoden implementieren. Oder man benutzt die API des Dienstes longurl.com. Die Software dahinter wurde uebrigens unter der AGPL lizensiert und den SourceCode kann man hier ankucken.
Ich habe natuerlich gleich die Klasse fuer bit.ly erweitert:
#!/usr/bin/env ruby
# client class for url shortening service bit.ly and url expandig service longurl.com
require 'rubygems'
require 'net/http'
require 'uri'
require 'json'
class ShortURL
def self.shortURL(url)
api_url = "http://bit.ly/api"
res = Net::HTTP.post_form(URI.parse(api_url),{'url'=> url})
return res.body
end
def self.expandURL(url)
api_url = "http://api.longurl.org/v1/expand?url=#{url}&format=json"
res = Net::HTTP.get(URI.parse(api_url))
data = JSON.parse(res)
# if expanding url failed
if data.has_key? 'messages'
return url
end
return data["long_url"]
end
end
Somit lassen sich mit der Methode ShortURL.expandURL(uri) URLs auch verlaengern.
Zusaetzlich gibt es fuer diesen Dienst noch eine Firefox Erweiterung und ein Greasemonkey Script um die langen URLs in Tooltips darzustellen.
Trackbacks
Trackback specific URI for this entry
No Trackbacks
Quicksearch
Kategorien
Tags
android bad world blog blogging browser changes code comic computer contentmanagement encryption feedreader firefox free fun google gui hardware howto html im jabber java life lighttpd linux linux&unix markup media misc mobile murphy networking newsbeuter opensource picture politics presentation privacy programming regular expression rss ruby s9y scala screenshot sdk security server shortys software stuff tail -f /var/log/life test tool tv unix video web webdesign webwide windows xml zeitgeist


