我们如何把域名翻译成IP地址呢,这个功能可以通过Perl的 gethostbyname函数来完成,虽然我不知道是否其它的办法,因为我使用这个方法一下子就完成了我脑海中想要完成的操作。
比如,我有一个文本文件,里面保存着一些网址,如下:
www.baidu.com
www.qq.com
www.163.com
www.sina.com
www.google.com.hk
我想把它们的IP地址解析出来,看下面拙劣代码的实现。
- open(F,'<','./url.txt') or die "不能打开文件 :$!\n";
- while(<F>)
- {
- die "主机名不存在" unless defined gethostbyname($_);
- chomp;
- $ip_addr=gethostbyname($_);
- $packed_ip_addr=inet_ntoa($ip_addr);
- print "$_","==>","$packed_ip_addr"."\n";
- }
- exit 1;
结果:
- www.baidu.com==>61.135.169.105
- www.qq.com==>123.129.194.144
- www.163.com==>58.248.245.40
- www.sina.com==>202.108.33.74
- www.google.com.hk==>74.125.71.147
这种立杆见影的高效让我非常高兴的以为,原来编程这么简单。
转载于:https://blog.51cto.com/httpcn/537576