PDA

View Full Version : [JAVA] indirizzo ip


orpheus
30-10-2004, 10:43
Ciao

come si riesce a scoprire il proprio indirizzo ip fornito dal isp usando java?

kingv
30-10-2004, 15:06
try
{
InetAddress address = InetAddress.getLocalHost();
byte[] ip = address.getAddress(); //se ne vuoi una rappresentazione come array di byte
String ips = address.getHostAddress() //se ne vuoi una rappresentazoine come stringa

}
catch (UnknownHostException e)
{
//
}

orpheus
30-10-2004, 15:55
Il mio problema è che utilizzando quelle righe di codice mi viene ritornato tipo un indirizzo ip locale della macchina che non assomiglia a quello che ho quando mi collego a internet e a me servirebbe quello.

kingv
30-10-2004, 18:28
Originariamente inviato da orpheus
Il mio problema è che utilizzando quelle righe di codice mi viene ritornato tipo un indirizzo ip locale della macchina che non assomiglia a quello che ho quando mi collego a internet e a me servirebbe quello.


prova così:

try
{
InetAddress address = InetAddress.getLocalHost();
InetAddress[] aa = InetAddress.getAllByName(address.getHostName());
for (int i=0; i<aa.length; i++)
{
System.out.println("ip = " + aa[i]);
}
}
catch (UnknownHostException e)
{
//
}




purtroppo non ho qui un ambiente java, non posso provare il codice. ;)

orpheus
31-10-2004, 11:06
Grazie..funziona

ora mi restituisce sia l'ip locale che quello ke uso durante la connessione internet

mui gentile

anx721
31-10-2004, 12:35
ma come faccio a distinguere l'indirizzo che rappresenta proprio l'ip che mi e stato assegnato?

kingv
31-10-2004, 13:38
Originariamente inviato da anx721
ma come faccio a distinguere l'indirizzo che rappresenta proprio l'ip che mi e stato assegnato?


a essere sincero non lo so, potresti fare un test del tipo se non è un indirizzo di quelli usati per le reti private (tipo 10.0.0.0/8 o 192.168.0.0/16) allora è l'indirizzo su internet.
so che non è gran bello, ma non so come fare a chiedere l'indirizzo per una specifica interfaccia.