昨日は,TinyURLについて書いたのですが,似たようなサービスにbit.lyがあるようです。今日は,これについて調べてみました。
http://code.google.com/p/bitly-api/wiki/ApiDocumentation を参考に,昨日同様試してみました。
bitly.rb
#!/usr/bin/env ruby require 'net/http' require 'uri' require 'rexml/document' query_hash = { "version" => "2.0.1", "longUrl" => "http://d.hatena.ne.jp/rahaema", "login" => "bitlyapidemo", "apiKey" => "R_0da49e0a9118ff35f52f629d2d71bf07", "format" => "xml" } query_string = query_hash.map{ |key, value| "#{URI.encode(key)}=#{URI.encode(value)}" }.join("&") xmldoc = nil Net::HTTP.version_1_2 Net::HTTP.start("api.bit.ly", 80) {|http| response = http.get("/shorten?" + query_string) xmldoc = REXML::Document.new(response.body) } puts xmldoc.elements['/bitly/results/nodeKeyVal/shortUrl'].text
実行
http://d.hatena.ne.jp/rahaema は以下のように短くなります。比較のためにTinyURLでの実行結果も載せておきます。
$ ruby bibly.rb
http://bit.ly/dnP3HF
$ ruby tiny.rb
http://tinyurl.com/y8sp36a