如何用java获得一个域名的ip地址呢?提供这个功能的类叫做java.net.inetaddress。我们假设现在有这样一个域名,它用一个静态的getbyname来重新获得一个inetaddress,然后得到可以读出的ip地址。下面的代码是非常基本的命令行。
【相关文章:EMC Clariion系列正式拥抱iS】 【扩展阅读:北京邦诺存储推出中国首款10G iSCS】import java.net.inetaddress; 【扩展信息:宝德iSCSI IP SAN为核心的存储】
import java.net.unknownhostexception; public class nslookup { static public void main(string[] args) { try { inetaddress address = inetaddress.getbyname(args[0]); system.out.println(args[0]+" : "+address.gethostaddress()); } catch(unknownhostexception uhe) { system.err.println("unable to find: "+args[0]); } } } inetaddress也可以通过使用getaddress()来获得ip地址,但是它的返回值是一个4个字节的数组。因此尽管getaddress()在获得ip方面是有用的,但却不适于用来输出。上面的命令的输出结果看起来就是这样:
bash$ java code.nslookup www.sun.com
www.sun.com: 192.18.97.241 有时一个域名会包含不止一个ip地址,比如微软的web服务器,这是为了保持负载平衡。inetaddress提供了一种可以得到一个域名的 所有ip地址的方法。让我们来考虑以下代码:import java.net.inetaddress;
import java.net.unknownhostexception; ... 下一页