已解决 求助 能ping通却java报错UnknownHostException

@Ta 03-11 15:00发布,03-19 14:15修改 656点击
一开始是

java.net.UnknownHostException: hu60.cn
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
        at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
后来怀疑代码有问题重新从网上抄了一段okhttp的(还手动下载了三个依赖包,感觉越弄越复杂)现在只是at后面的东西变了
java.net.UnknownHostException: hu60.cn: Name or service not known
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
        at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
        at java.net.InetAddress.getAllByName(InetAddress.java:1192)
        at java.net.InetAddress.getAllByName(InetAddress.java:1126)
        at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:49)

不过我觉得好像里面有ipv6?
是不是v6的原因,怎么关掉v6
试了一下 -Djava.net.preferIPv4Stack=true还是一样
网上找了$ proot sysctl -w net.ipv6.conf.all.disable_ipv6=1
c: permission denied on key "net.ipv6.conf.all.disable_ipv6"也不行

给okhttp设置了ipv4的dns终于可以正常访问了
回复列表(1)
添加新回复
回复需要登录

[聊天-摸鱼] 姜辰:所有单位在干活,而我在一边摸鱼