bit.lyでの圧縮をWeb APIでなく実行するGroovyスクリプト

tyamaさんの
bit.ly が普通におもしろかったのでGroovyでAPIを使って遊んでみた
http://d.hatena.ne.jp/mottsnite/20100209/1265725950

のエントリーを見てbit.lyのAPIについて納得。
今まで適当にheaderのスクレイプでbit.ly圧縮していました。
Web APIを探す努力もしていませんでした。
APIがあるなら使うべきなので、そのうちこのメソッドはreplaceします。
ちなみに j.mp は単に bit.ly のエイリアスです。
headerの場合はloginとかなしでの実行となります。
今もこのメソッドでbot動かしています。

def getJmp(String longstr) {
	def url = 'http://bit.ly/?s=&keyword=&url='+URLEncoder.encode(longstr,"UTF-8")
	def ans = ""
	url.toURL().getText("UTF8").eachLine { 
		if (it==~/.*\"shortUrl\".*\"(http.*)\".*/) {
			ans = it.replaceAll(/.*\"(http.*)\".*/) {m0, m1 -> m1 }.replaceAll(/bit\.ly/,"j.mp")
		}
	}
	return ans
}
assert getJmp('http%3A%2F%2Fwww-06.ibm.com%2Fsoftware%2Fjp%2F')== 'http://j.mp/cYbe1'