foreach my log (@blog)

Perl ネタ

【Perl おぼえがき】whois 情報からドメイン名の有効期限だけを取得したい。その 3。



whois





TLD が .com, .net 等 有効期限の表示で "Expiration Date:" とでるドメイン名と .org, .info 等 "Expiry Date:" とでるものでマッチさせて有効期限を取得することはできました。





ひとまずよく見かける TLD の有効期限が取得できることになった訳です。

ただ、重要なのが残っていました。JP ドメイン名です。

単純に whois を検索するだけでは日本語で出てくるのでマッチさせるのが難しそう。




JP ドメイン名も英語表記で whois 情報を取得する方法を見つけたのでそれを利用してマッチさせてやります。



#!/usr/bin/perl

use strict;
use warnings;
use Net::Whois::Raw;

my $dom = "google.jp";
my $ex = '\[Expires on\]';
my $w = `whois -h whois.jprs.jp $dom/e`;
my @w = split(/\n/, $w);
foreach my $date (@w) {
next if ($date =~ /$ex/);
$date =~ s/(.*)$ex\s*//;
$date =~ s/\(|\)//g;
print "$date\t$dom";
}




JP ドメイン名の場合は末尾の "/e" で英語表記を取得して、あとは YYYY/MM/DD の並びで出てきてくれるので必要ない部分を削除するだけ。

日付の表示形式が一定なので他の TLD よりは扱いやすいです。



同じカテゴリー(Perl ネタ)の記事
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
TI-DA
てぃーだブログ
プロフィール
chinji
chinji

PAGE TOP ▲