◆bit.lyの短縮URLを生成スクリプト
bit.lyの短縮スクリプトを生成するのに、わざわざbit.lyを開くのは面倒(;´Д`) コマンドラインで一括変換してくれれば楽じゃね?と、コマンドラインで使えるモノをつくってみました。ちなみに、環境はPerlです。
出来たものは
$ shorturl.pl <URL>
こちらを実行すると、bit.ly のAPIを叩いて、短縮URLを返してくれるというモノ。
◆前準備
今回使ったのは CPAN に公開されていた、WebService::Bitly モジュールを使います。サンプルコードが綺麗でわかりやすく、必要最低限のものがそろっていたので。組み込みは cpan コマンドを使えばとても簡単。
# cpan -i WebService::Bitly
私の環境では、結構いろいろな追加モジュールが必要になりました。必要になるものなので、全部いれてしまいます。
それと、bit.ly でAPI確認をしておく必要があります。
この URL にアクセスすると、ユーザ名(Username)と API Key が表示されるので、控えておきます。
◆スクリプト shorturl.pl
ここまで来ると、あとはスクリプトを書くだけ。といっても、ほとんどサンプルと替わりません。
!/usr/bin/perl
use WebService::Bitly;;
my $url = $ARGV[0];
if ($url !~ /s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+/g) {
print "NG URL\n";
} else {
my $bitly = WebService::Bitly->new(
user_name => 'bit.lyのUsername',
user_api_key => 'bit.lyのAPI Key'
);
my $result = $bitly->shorten($url);
if ($result->is_error) {
warn $result->status_code;
warn $result->status_txt;
} else {
my $short_url = $result->short_url;
print $short_url,"\n";
}
}
exit;
あとは、chmod +x ./shorturl.pl と実行属性をつけるだけで動きます。
動かし方
$ ./shorturl.pl http://pocketstudio.jp/log3
http://bit.ly/g8ZhLt
このように URL を引数に入れます。正常に処理されれば、短縮URLが表示されます。引数のURLが適切でない場合は「NO URL」と画面に表示し、何も返しません。〜という、シンプルなモノでした。自分の備忘録がてら。