TinyurlなどのURLを復元するJSON(P) API
最近Perlの勉強を始め、入門書を読んだりしてPerlのソースがそこそこ読めるようになってきました。
で、そろそろ実際に書いてみますかということで、以前からほしかったAPIに挑戦してみました。
reurl API
Tinyurlなどで圧縮されたURLを復元*1してJSON(callbackがあればJSONP)を返すAPIです。
圧縮されていないと思われるURL(サービスのドメインで判断)は基本的にそのまま返します空文字列を返します。
API
- API:http://ss-o.net/api/reurl.json
- Parameters:
- url (URL encoded)
- callback (Optional)
Ex1. http://ss-o.net/api/reurl.json?url=http%3A%2F%2Ftinyurl.com%2Fc3vhol
Ex2. http://ss-o.net/api/reurl.json?url=http%3A%2F%2F
TODO
APIの利用について
- 利用にあたって特に制限はありませんが、負荷が高いと判断した場合はサービスを停止する場合もあります。その点はご了承ください。
以下、現時点のソース。gistに置いた。HTTP::Liteは勝手に転送しないので、この用途にちょうど良かったみたい。
http://gist.github.com/65204
http://mayokara.info/deadspace/#d20090216 の #15 のツッコミより、$http->method('HEAD');を入れた。ありがとうございます。
参考にしたもの:
http://coderepos.org/share/browser/websites/ustreamer
*1:各サービスにRequestをなげ、ヘッダーからLocationを取得する(その先には転送しない)