ネットを見ていたら、古い記事だけどこんなのを見つけた。
cf. 短縮URLを1行で展開する@Python – shibuya blog
スクリプトにするんなら1行にすることないだろ、とも思ったけどそれはそれとして、わざわざ短縮元の URL にアクセスしなくても、短縮 URL に HEAD メソッドでアクセスしてヘッダーだけ取ってきて Location を見ればいい、というのをどこかで読んだ覚えがある。
というわけで、Python で書いてみた。
import httplib import urlparse import sys url = sys.argv[1] o = urlparse.urlparse(url) conn = httplib.HTTPConnection(o.netloc) conn.request("HEAD", url) res = conn.getresponse() print res.getheader("Location")
今回調べたわかったけど、urllib じゃ HEAD メソッド使えないらしい。で、より低レベルの httplib を使ってる。
実行結果:
takatoh@nightschool $ python expandurl.py http://bit.ly/1axxIi4 https://blog.panicblanket.com/