Local ip lato wan

Stato
Discussione chiusa ad ulteriori risposte.

void

Utente Silver
9 Agosto 2008
10
5
0
63
Ciao ragazzi...
devo creare un metodo che ritorni il mio ip lato wan... sono dietro un router..
potrei inoltrare una richiesta http ad uno dei tanti server che offrono il servizio di my ip... ma non sembra una soluzione elegante...(se il server è out, ecc ecc)
altre idee??

grazie in anticipo...
 
eh...il problema più grosso è proprio il fatto di essere dietro router,anche utilizzando le classi apposite ci viene dato l'Ip che si ha nella propria rete e non quello su internet.Io avevo fatto qualche tempo fa una cosa piuttosto sporca basandomi comunque su un sito tipo my ip.Vedo cosa riesco a trovare e ti faccio sapere...
 
Bisogna per forza basarsi su intrrogazioni a qualche server, immaginavo che non esistesse una classe che gestisse questo problema...
grazie, attendo la tua soluzione in ogni caso!!
 
ecco a te:
Codice:
import java.net.*;
import java.io.*;

public class WanIP{
   
    public WanIP(){
        try{
            BufferedReader in=new BufferedReader(new InputStreamReader((new URL("http://whatismyip.com/automation/n09230945.asp").openConnection()).getInputStream()));
            String input="";
            while((input=in.readLine())!=null){
                System.out.println(input);
            }
        }catch(MalformedURLException mue){
            System.out.println("MalformedURLException: "+mue.getMessage());
        }catch(IOException ioe){
            System.out.println("IOException: "+ioe.getMessage());
        }
    }
}
Ho cercato di farlo più breve e indentato possibile ;)
Come si vede nel while,l'ip verrà stampato,l'ip è contenuto nella stringa input.
 
Ma così interrogherai il server... lui se non sbaglio voleva un metodo senza appoggiarsi a server esterni...
EDIT: Sorry ho capito ora che gli andava bene qualsiasi soluzione.
 
xD ci ho sbattuto poco a suo tempo,quando serviva a me questa cosa,e dietro router purtroppo non ero riuscito a trovare soluzione apparte interrogare un server.Devo dirti che questa soluzione poi è anche migliore della mia dato che ho trovato un link di una pagina che ti restituisce il solo IP...quando lo feci io dovetti analizzare tutto l'html per prendere quello che mi interessava xD
 
Anche io ,caspita... dovevo estrarre l'ip dalla risposta http... non era facile perchè se l'ip era piu corto di tot caratteri dovevi fare dei marchingegni...
ti ringrazio per la soluzione...ora la testo... :-D
 
Mi fido, quando parlo di test è per dire lo provo :-D

cmq ho provato ... fa una richiesta http poi si pone in attes della risposta...quel sito pare fatto apposta per questo tipo di problema ...assurdo..

grazie ancora per la soluzione :)
 
Stato
Discussione chiusa ad ulteriori risposte.