2013-07-03 10 views
12

rozwiązywania nazwy hosta na adres IP jest dość łatwy w Javie za pomocą InetAddress klasę tak:Wybierz serwer DNS dla rozwiązywania nazw hostów w Javie

InetAddress address = InetAddress.getByName("www.example.com"); 

Ale ta metoda używa serwera DNS, który jest używany przez działający system.

Czy istnieje sposób określenia serwera DNS, który powinien zostać użyty do rozwiązania problemu?

+0

Istnieją biblioteki DNS w Javie, można z nich korzystać – fge

Odpowiedz

13

Jeśli używasz Sun Java, można użyć tego kodu:

//Override system DNS setting with Google free DNS server 
System.setProperty("sun.net.spi.nameservice.nameservers", "8.8.8.8"); 
System.setProperty("sun.net.spi.nameservice.provider.1", "dns,sun"); 

Zobacz ten wpis na blogu: How to set a custom DNS server with Java System properties więcej szczegółów.

+0

Świetnie! Dziękuję bardzo za tę odpowiedź! – coroner

+0

jedno pytanie. Jeśli szybko i sprawnie rozszyfrowuję nazwy domen (300 na minutę), czy jest ciężki/dozwolony (np. Serwery DNS Google) na serwery DNS? –

+0

Jednym z potencjalnych problemów jest to, że jest to globalne. –

Powiązane problemy