Net::CIDR::MobileJP::Scraper::Plugin::Vodafone.pmが動かなくなった
dsasの中の人が作ったperlで、SoftbankのIPだけが取得できなくなったので調べてみた。どうやらSoftbankのIP帯域が載ってるURLが変わったのが原因で、Net::CIDR::MobileJP::Scraper::Plugin::Vodafone.pmが古いままだかららしい。適当に修正したら動くようになった。
- new: http://creation.mb.softbank.jp/web/web_ip.html
- old: http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php
作者にお知らせしたいけど、testの書き方わかんないしpatchの送り方とかわかんねぇ。アレか、わかんねぇとか言ってないでこれを機に調べれば良いのか。
# diff -u Vodafone.pm.org Vodafone.pm
--- Vodafone.pm.org 2008-10-11 10:03:00.000000000 +0900
+++ Vodafone.pm 2008-10-11 10:05:25.000000000 +0900
@@ -3,7 +3,8 @@
use warnings;
use base qw/Net::CIDR::MobileJP::Scraper::Plugin/;
-sub url { return 'http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php'; }
+sub url { return 'http://creation.mb.softbank.jp/web/web_ip.html'; }
+
sub run {
my ($self, ) = @_;
@@ -12,7 +13,7 @@
my $content = $self->get($url);
my @result;
- while ($content =~ m!<FONT size="2" class="j10".*?>(\d+\.\d+\.\d+\.\d+/\d+)</FONT>!g) {
+ while ($content =~ m!<td bgcolor=".*?"> (\d+\.\d+\.\d+\.\d+/\d+)</td>!g) {
push @result, $1;
}
return \@result;