ホスト名を対応するIPに解決しようとしています。
私の環境は、プロキシサーバーの背後にある企業ネットワーク内のMacであり、システム環境設定(自動プロキシ設定)を介して.pacファイルで設定されています。これまでのところ、すべてが正常に機能しており、企業ネットワークの内外のリソースにアクセスできます。
ネットワーク内のホストの解決は完全に正常に機能します。
InetAddress.getByName("host.local");
しかし、外部ホスト名を使用すると、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です。したがって、このエラーの原因は、Javajvm内のプロキシ構成が欠落していることではないと思います。
しかし、他のすべてが正常に機能している場合、他に何ができるでしょうか?
いくつかの(多分)有用な追加情報:
私はMacBookを使用して
ifconfig
おり、ネットワークに接続されたインターフェイスlo0、gif0、stf0、en0、fw0、en1->をipv4アドレスで表示しています。nslookup google.com
コンソールで戻る** server can't find google.com: NXDOMAIN
ネットワーク内のWindowsマシン上の同じコードで、同じ例外が発生しました
このエラーの原因について何か考えはありますか?または、Javaでホスト名を解決する他の方法はありますか?