PDA

Visualizza la versione completa : [JAVA] Ottenere il proprio indirizzo IP assegnato


hannibal/p
20-03-2006, 01:42
ciao amicici
ho bisogno di conoscere l'indirizzo ip che mi assegna il mio ISP dinamico.
ho propato con InetAddress.getAllByName() ma sono connesso ad internet attraverso un router.
possibile ottenerlo in altro modo?
grazie ciao

Andrea1979
20-03-2006, 09:33
Fino al jdk1.4.x, non c'era modo (che io sappia) di ottenere il tuo indirizzo internet "in rete", ma solo gli indirizzi locali. Si ovvia al problema costruendosi una classettina ad-hoc che apra una connessione verso uno deti tanti siti che offrono il servizio "mostra ip"

http://www.google.it/search?hl=it&q=whatsmyip&btnG=Cerca&meta=

e si costruisce un parser per beccarsi tale stringa.
Se nel jdk1.5 hanno aggiunto qualcosa, chiedo venia.

unomichisiada
20-03-2006, 12:36
Originariamente inviato da Andrea1979
Fino al jdk1.4.x, non c'era modo (che io sappia) di ottenere il tuo indirizzo internet "in rete", ma solo gli indirizzi locali. Si ovvia al problema costruendosi una classettina ad-hoc che apra una connessione verso uno deti tanti siti che offrono il servizio "mostra ip"

http://www.google.it/search?hl=it&q=whatsmyip&btnG=Cerca&meta=

e si costruisce un parser per beccarsi tale stringa.
Se nel jdk1.5 hanno aggiunto qualcosa, chiedo venia.
Anche a me non risultano altri modi per farlo

hannibal/p
20-03-2006, 23:57
e da dove comincio? che consiglio mi puoi dare?
avevo pensato di aprire una pagina da java che risiede sul mio sito in php dove mettere solo la funzione per avere l'ip del navigatore ma non so come fare.
puoi aiutarmi?
grazie
ciao

Andrea1979
21-03-2006, 12:23
Ok, allora


public String getHTML(String addr) throws Exception {
URL url = new URL(addr);
String buf = "";
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = in.readLine())!=null) {
buf += line+"\n";
}
return buf;
}


A cui passi l'indirizzo della pagina.
Dovrai importare java.net.* e java.io.*

Ti ritorna l'intero codice html della pagina. Se avrai solo l'indirizzo ip non c' da sbattersi a fare il parsing. Altrimenti, estrapolati solo quel che ti serve (usa un'opportuna regex)

Loading