-1

重複の可能性:
URL からの TLD の抽出と、各 TLD ファイルのドメインとサブドメインの並べ替え

例: PTR レコード 45.36.190.206.in-addr.arpa ドメイン名ポインター ir1.fp.vip.gq1 から yahoo.com をフェッチします。yahoo.com

私は Net::Nslookup を使用しています。nslookup(ホスト => "206.190.36.45"、タイプ => "PTR"); ir1.fp.vip.gq1.yahoo.com を返します。

ptr レコードから「yahoo.com」だけを取得する必要があります。

perl を使用してこれを取得する方法は?

4

1 に答える 1

0

あなたの質問は単に「どのようにして の TLD を取得するのir1.fp.vip.gq1.yahoo.comですyahoo.comか?」

use Domain::PublicSuffix qw( );

my $dps = Domain::PublicSuffix->new();

my $host = 'ir1.fp.vip.gq1.yahoo.com';

$host =~ s/\.\z//;  # D::PS doesn't handle "domain.com.".
my $root = $dps->get_root_domain($host)
   or die $dps->error();

say $root;

ちなみに、ビルトインの / システムコールgethostbyaddrを使って PTR レコードを取得できます。

use Socket qw( inet_aton AF_INET );
my $host = gethostbyaddr(inet_aton("206.190.36.45"), AF_INET);
于 2013-02-04T23:25:21.820 に答える