サーバーからデータを取得しようとしています。時々私のコードは。のために失敗しますUnknownHostException
。何故ですか?この問題の原因は何ですか?
7431 次
4 に答える
4
これは、DNSサーバーで一時的な中断が発生した場合に発生する可能性があります。DNSサーバーをより堅牢にしたり、別のサーバーを探したりする以外に、ホスト名の代わりに完全なIPアドレスを使用することもできます。このように、ホスト名に基づいてIPアドレスを検索する必要はありません。ただし、IPアドレスは時々変更される可能性があるため、DNSの問題を修正し、DNSを優先します。
于 2010-05-25T17:05:08.797 に答える
2
UnknownHostException
は、指定されたホストをIPアドレスに変換できなかったことを示します。DNSサーバーに問題がある可能性があります。
于 2010-05-25T17:06:05.407 に答える
1
DNS解決が断続的に失敗する場合は、例外をキャッチして、名前解決が得られるまで再試行してください。制御できるのは、制御できるものだけです...また、DNSサーバーを制御/修正できない場合は、アプリを、風変わりなDNSサーバーを処理するのに十分な堅牢性を備えたものにします。
于 2017-08-22T13:04:10.043 に答える
0
私も、明らかな理由もなく、Javaで散発的なUnknownHostExceptionsが発生しています。解決策は、数回再試行することです。これを行うDocumentBuilder.parseのラッパーは次のとおりです。
static Document DocumentBuilder_parse(DocumentBuilder b, String uri) throws SAXException, IOException {
UnknownHostException lastException = null;
for (int tries = 0; tries < 2; tries++) {
try {
return b.parse(uri);
} catch (UnknownHostException e) {
lastException = e;
System.out.println("Retrying because of: " + e);
continue;
}
}
throw lastException;
}
于 2019-04-06T12:13:09.747 に答える