【perlメモ】短縮URLなどからリダイレクト先の実際のURLを取得する方法

http://goo.gl/ne3oL

上記は、Google URL Shortenerで作成したこのブログの短縮URLです。アクセスすると実際にはhttp://blog.kumacchi.com/にリダイレクトされます。

この短縮URLから実際のURLを取得する方法。実行環境はWindowx XP Home、perl 5.8.8 ActivePerl

ソース:redirect02.pl
リダイレクト先のURLだけでなくサーバーのIPも取得するようにしています。

use strict;
use warnings;
use LWP::UserAgent;

my $url = ‘http://goo.gl/ne3oL’;

my $ua   = LWP::UserAgent->new;
#my $base = $ua->head($url)->base;
my $r    = $ua->head($url);

my $base = $r->base;
my $cp   = $r->header(‘client-peer’);

print "cp  : $cp\n";
print "base: $base\n";

実行結果

F:\kumacchi\MyProgram\perl\sample\リダイレクト先>redirect02.pl
cp  : 202.172.26.21:80
base: http://blog.kumacchi.com/

F:\kumacchi\MyProgram\perl\sample\リダイレクト先>

簡単です。

スパム対策などに活用できそうですね。

タグ : ,