java实现将域名解析成ip示例

时间:2021-11-20 10:33:33 

根据中国的国情,宽带共享遭受dns污染和HTTP拦截非常严重,造成网络请求的不稳定.但是ip/tcp协议一般不受影响。因此可以把域名先解析成ip并保存,以后都用ip访问。客户端启动,把域名解析成ip,如果失败的话,测试先前的ip是否可用并鉴别ip真伪(同下)。如果解析域名成功,发送加密信息到服务器返回解密后的内容来测试ip的真伪(保证不被dns污染)。如果可能的话避免使用http协议,使用自定义协议。对于手机客户端,甚至可以先用移动网络解析域名,再使用自架设的WiFi热点。以上方法仅对宽带检测后不完全断网有效。


import java.net.InetAddress;
import java.net.UnknownHostException;

public class ParseDomainName {
 InetAddress myServer = null;
 InetAddress myIPaddress = null;
 String domainName = null;

 public ParseDomainName(String domainName) {
  this.domainName = domainName;
 }

 public InetAddress getServerIP() {
  try {
   myServer = InetAddress.getByName(domainName);
  } catch (UnknownHostException e) {
  }
  return (myServer);
 }

 // 取得LOCALHOST的IP地址
 public InetAddress getMyIP() {
  try {
   myIPaddress = InetAddress.getLocalHost();
  } catch (UnknownHostException e) {
  }
  return (myIPaddress);
 }

 public static void main(String[] args) {
  ParseDomainName pdn = new ParseDomainName("www.baidu.com");
  System.out.println("Your host IP is: " + pdn.getMyIP().getHostAddress());
  System.out.println("The Server IP is :" + pdn.getServerIP().getHostAddress());
 }

}

标签:java,域名解析
0
投稿

猜你喜欢

  • Java实现简单猜数字小游戏

    2023-11-28 08:10:07
  • SpringBoot异常处理器的使用与添加员工功能实现流程介绍

    2021-10-21 19:24:23
  • 关于java中构造函数的一些知识详解

    2023-11-27 22:09:11
  • flutter中的资源和图片加载示例详解

    2023-08-24 13:19:39
  • Kotlin中常见内联扩展函数的使用方法教程

    2023-07-04 13:46:12
  • Java调用CXF WebService接口的两种方式实例

    2023-11-09 02:25:11
  • Java中的内部类你了解吗

    2022-12-11 08:29:10
  • 基于spring boot 的配置参考大全(推荐)

    2021-11-28 23:32:41
  • Java去掉数字字符串开头的0三种方法(推荐)

    2022-05-31 08:04:41
  • Java中遍历ConcurrentHashMap的四种方式详解

    2023-11-17 08:54:41
  • IDEA新建springboot项目时未生成pom.xml文件的解决操作

    2022-08-22 03:16:31
  • SpringMVC底层执行流程及原理解析

    2022-11-19 03:34:56
  • java中fork-join的原理解析

    2023-12-13 08:49:16
  • Java执行JS脚本工具

    2022-04-07 08:00:16
  • 解决BeanUtils.copyProperties无法成功封装的问题

    2023-11-23 14:59:23
  • mybatis-plus查询源码详解

    2023-02-02 11:58:02
  • IntelliJ IDEA快速创建getter和setter方法

    2023-06-04 00:44:46
  • Redis6搭建集群并在SpringBoot中使用RedisTemplate的实现

    2023-10-31 14:48:05
  • Java基础学习之ArrayList类概述与常用方法

    2023-03-13 02:15:24
  • springboot项目启动,但是访问报404错误的问题

    2022-09-21 10:30:10
  • asp之家 软件编程 m.aspxhome.com