Java小强个人技术博客站点    手机版
当前位置: 首页 >> 理论 >> 通过域名获得IP地址

通过域名获得IP地址

92850 理论 | 2014-11-14

如果使用域名访问服务器,那么可能收到没有备案,或者因为是域名访问而走IDC防火墙的问题,所以能用IP地址访问总归是比用域名访问好的。

但是如果使用IP访问,那么IP地址更换的时候,一些客户端就会遇到问题。为了解决IP地址更换和避免直接用域名访问的问题,我的做法是先解析域名的IP,然后再通过IP进行访问。

 

那么如何通过域名解析到IP呢?

以下代码会帮到你:

package test;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
 * 通过域名解析IP
 * @author java小强
 */
public class TestInetAddress { 
 public static void main(String args[]) {
  TestInetAddress address = new TestInetAddress();
  String domain = "www.163.com";
  System.out.println("要获取域名的地址为: " + domain);
  InetAddress[] array = address.getServerIP(domain);
  int count = 0;
  for (int i = 0; i < array.length; i++) {
   System.out.println("ip:" + i + "--》" + array[i].getHostAddress());
   count++;
  }
  System.out.println("该域名解析到IP: " + count);
 }
 /**
  * 获得某域名的IP地址
  */
 public InetAddress[] getServerIP(String domain) {
  InetAddress[] myServer = null;
  try {
   myServer = InetAddress.getAllByName(domain);
  } catch (UnknownHostException e) {
   e.printStackTrace();
  }
  return myServer;
 }
}

打印如下:

要获取域名的地址为: www.163.com
ip:0--》111.161.22.27
ip:1--》111.206.169.23
ip:2--》125.39.1.138
该域名解析到IP: 3

可以看到,网易给163配备了三个IP地址。

推荐您阅读更多有关于“ java 解析 域名 ip dns ”的文章

上一篇:每天一篇博文 下一篇:CPC、CPM、CPA、CPS、CPT、CPV的区别

猜你喜欢

发表评论: