域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具” 。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等),下面介绍一下Java解析域名获取IP数组方法。
Java获取域名下所有Ip地址,具体代码如下:
package com; import java.net.InetAddress; import java.net.UnknownHostException; public class AddressMain { private InetAddress myIpAddress = null; private InetAddress[] myServer = null; public static void main(String args[]) { AddressMain address = new AddressMain(); System.out.println("My host IP is: " + address.getLocalhostIP()); String domain = "www.yoodb.com"; System.out.println("The server domain name is: " + domain); InetAddress[] array = address.getServerIP(domain); int count = 0; for (int i = 0; i < array.length; i++) { ++count; System.out.println("Ip number:" +(i + 1) + " The server Ip is: " + array[i]); } System.out.println("IP address total: " + count); } /** * 获得 localhost本地IP地址 * @author www.yoodb.com * @return */ public InetAddress getLocalhostIP() { try { myIpAddress = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } return myIpAddress; } /** * 获得某域名的IP地址 * @author www.yoodb.com * @param domain 域名 * @return */ public InetAddress[] getServerIP(String domain) { try { myServer = InetAddress.getAllByName(domain); } catch (UnknownHostException e) { e.printStackTrace(); } return myServer; } }
输出结果如下:
My host IP is: Lenovo-PC/192.168.1.100 The server domain name is: www.yoodb.com Ip number:1 The server Ip is: 123.57.47.154 IP address total: 1