2013-07-03 14 views
12

risolvere un nome host a un indirizzo IP è piuttosto facile in Java utilizzando la classe InetAddress in questo modo:Scegli server DNS per la risoluzione di nomi di host in Java

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

Ma questo metodo utilizza il server DNS che viene utilizzato dal sistema in esecuzione.

Esiste un modo per specificare il server DNS da utilizzare per la risoluzione?

+0

Ci sono librerie DNS in Java, è possibile utilizzarle – fge

risposta

13

Se si utilizza Sun Java, è possibile utilizzare questo codice:

//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"); 

Vedi questo post del blog: How to set a custom DNS server with Java System properties per maggiori dettagli.

+0

Grande! Grazie mille per questa risposta! – coroner

+0

una domanda. Se risolvo i nomi di dominio velocemente (300 al minuto), è pesante/consentito (ad esempio server DNS di Google) server DNS? –

+0

Un potenziale problema è che questo è globale. –

Problemi correlati