java将域名解析为IP地址

熟悉InetAddress类:InetAddress类主要是用来得到所指定的网络地址,InetAddress类没有直接显式的构造函数。要生成一个InetAddress对象,必须运用一个可用的工厂方法。工厂方法(factory method)仅是一个类中的静态方法返回一个该类实例的约定。这是在一个带有各种参数列表的重载构造函数中完成的,当持有惟一方法名时可使结果更清晰。

 

InetAddress有三个方法可以用来创建InetAddress的实例

 

1.static InetAddress getLocalHost( ) throws UnknownHostException

2.static InetAddress getByName(String hostName) throws UnknownHostException

3.static InetAddress[ ] getAllByName(String hostName) throws UnknownHostException

InetAddress类的非静态方法:

   boolean equals(Object other)
如果对象具有和other相同的Internet地址则返回true。
byte[ ] getAddress( )
返回此InetAddress对象的原始 IP 地址。
String getHostAddress( )
返回与InetAddress对象相关的主机地址的字符串。
String getHostName( )
返回与InetAddress对象相关的主机名的字符串。
int hashCode( )
返回调用对象的散列码。
boolean isMulticastAddress( )
如果Internet地址是一个多播地址则返回true;否则返回false。 
String toString( )
返回主机名字符串和IP地址。

下面我们写一个程序来解析域名:

 

package com.ip;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Scanner;
public class IP {
    public static void main(String[]args)
    {
        try {
            System.out.print("请输入要解析的域名:");
            Scanner in=new Scanner(System.in);
            String domainname=in.nextLine();//输入要解析的域名
            System.out.println("使用InetAddress类的方法获取网站"+domainname+"的IP地址...");

                System.out.println("总共ip个数:"
                        + InetAddress.getAllByName(domainname).length);//获取接续出来的ip的个数
                InetAddress[] inetadd = InetAddress.getAllByName(domainname);
                //遍历所有的ip并输出
                for (int i = 0; i < inetadd.length; i++) {
                    System.out.println("第" + (i + 1) + "个ip:" + inetadd[i]);
                }

        } catch (UnknownHostException e) {
            System.out.println("获取网站www.csdn.net的IP地址失败!没有对应的IP!");
        }
    }

}

结果:

 

如果有所帮助,脸皮厚求个赞~

此文章仅代表自己(本菜鸟)学习积累记录,或者学习笔记,如有侵权,请联系作者删除。人无完人,文章也一样,文笔稚嫩,在下不才,勿喷,如果有错误之处,还望指出,感激不尽~

技术之路不在一时,山高水长,纵使缓慢,驰而不息。

公众号:秦怀杂货店

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值