java 把所有的域名都解析到 127.0.1.2 这个地址上了

2015-06-17 17:20:26 +08:00
 ne6rd

碰到个很奇怪的问题,写了如下一段代码:

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

public class DomainResolutionTest {
    public static void main(String[] args) throws UnknownHostException {
        String host = "www.baidu.com";
        InetAddress ip = InetAddress.getByName(host);
        System.out.println(ip.toString());
    }
}

试了几台机器都能正确解析,唯独有一台解析出来永远是127.0.1.2
所有机器的环境都是 jre build 1.8.0_45-b15 & win7 64bit
请问这是什么原因引起的,如何解决呢?

2053 次点击
所在节点    问与答
4 条回复
lk09364
2015-06-17 17:28:01 +08:00
dig / nslookup 呢。
ne6rd
2015-06-17 18:36:45 +08:00
@lk09364 nslookup解析正常的。
在cmd下面域名解析都正常,我怀疑是jvm的问题。
这段代码用
ne6rd
2015-06-17 18:37:29 +08:00
java -Djava.net.preferIPv4Stack=true DomainResolutionTest
在cmd里调用也是同样的结果。。。。
ne6rd
2015-06-17 18:53:55 +08:00
找到原因了,居然跟我开的ASTRILL VPN有关系,即使vpn的状态是OFF。
只要软件运行了就会变成这样。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/199312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX