ページ更新: 2004-01-07 (水) (7084日前)
NTT Flet's ADSLルータ「NV」に割り付けられたIPを取得するperlスクリプト (getnvip) ルータの「情報 → 現在の状態 → 表示モード=拡張」画面から割り付けられたIPを取得しているだけ。LWP (lib-www-perl)を使っているだけだったり。 このスクリプトは、dymanic DNS用のシェルスクリプトからIP=`getnvip`という風に呼び出して使うために2003年に作ったもの。 CygwinのperlやActive Perlでも動作すると思われるが、未確認。
#!/usr/bin/perl -w # getnvip # $Id$ # get Global IP (for NTT Flet's ADSL NV-Router) use strict; use LWP::Simple; my $user = 'user'; my $passwd = '*****'; my $router = '*******'; my $file = '/info_main.html'; my $url = "http://$user:$passwd\@$router$file"; ## search string my $line = <<'STR' <TR><TD NOWRAP COLSPAN=2 BGCOLOR=white><B><LABEL onMouseOver=msgShow\(event,31\) onMouseOut=msgHide\(\)>【接続先1 \[プロバイダ名\] 状態】</LABEL></B></TD></TR> <TR BGCOLOR=THISTLE> <TD><LABEL onMouseOver=msgShow\(event,11\) onMouseOut=msgHide\(\)>ADSL側 IPアドレス</LABEL></TD> <TD>(\d+\.\d+\.\d+\.\d+) </TD> </TR> STR ; ## my $slurp = get($url); ## search if ($slurp =~ m/$line/) { print "$1"; } |