一、引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dns-cache-manipulator</artifactId>
<version>1.8.3</version>
</dependency>
二、如何使用
DnsCacheManipulator.setDnsCache("hello.com", "192.168.1.1");
DnsCacheManipulator.setDnsCache("world.com", "1234:5678:0:0:0:0:0:200e"); // 支持IPv6
// 上面设置全局生效,之后Java中的所有的域名解析逻辑都会是上面设定的IP。
// 下面用一个简单获取域名对应的IP,来演示一下:
String ip = InetAddress.getByName("hello.com").getHostAddress();
// ip = "192.168.1.1"
String ipv6 = InetAddress.getByName("world.com").getHostAddress();
// ipv6 = "1234:5678:0:0:0:0:0:200e"
// 可以设置多个IP
DnsCacheManipulator.setDnsCache("hello-world.com", "192.168.2.1", "192.168.2.2");
String ipHw = InetAddress.getByName("hello-world.com").getHostAddress();
// ipHw = 192.168.2.1 ,读到第一个IP
InetAddress[] allIps = InetAddress.getAllByName("hello-world.com");
// 上面读到设置的多个IP
// 设置失效时间,单元毫秒
DnsCacheManipulator.setDnsCache(3600 * 1000, "hello-hell.com", "192.168.1.1", "192.168.1.2");