java – InetAddress.getByName在代理后面失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – InetAddress.getByName在代理后面失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1547字,纯文字阅读大概需要3分钟。
内容图文
我正在尝试将主机名解析为其对应的IP.
我的环境是代理服务器后面的公司网络中的mac,它通过系统首选项(自动代理配置)配置.pac文件.到目前为止一切正常,我可以访问公司网络内外的资源.
解析我网络中的主机非常正常:
InetAddress.getByName( “主机.本地”);
但是当我使用外部主机名时,我得到一个UnknownHostException:
InetAddress.getByName( “google.com”);
产生
Exception in thread "main" java.net.UnknownHostException: google.com
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
at Test.main(Test.java:67)
(我对Inet6AddressImpl有点惊讶)
据我所知,InetAddress.getByName使用本机机制来解析主机名.所以我认为错误不是由java jvm中缺少的代理配置引起的.
但是,如果其他一切工作正常,还能做什么呢?
一些(可能)有用的附加信息:
>我正在使用MacBook,ifconfig显示接口lo0,gif0,stf0,en0,fw0,en1 – >用ipv4地址连接到网络.
> nslookup google.com在控制台上返回**服务器找不到google.com:NXDOMAIN
>网络中的Windows机器上的相同代码产生相同的异常
有关此错误原因的任何想法?
或者还有其他方法来解析java中的主机名?
解决方法:
您的公司DNS服务器阻止您解析任何Interent域(他们可能不希望人们浏览非公司上下文).
nslookup查询失败的事实支持这一点.
如果您没有对公司政策进行投票,并且您的开发机器必须留在您的公司场所,那么您无能为力.
内容总结
以上是互联网集市为您收集整理的java – InetAddress.getByName在代理后面失败全部内容,希望文章能够帮你解决java – InetAddress.getByName在代理后面失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。