2016-07-18 3 views
1

Ich versuche, ein Client-Host-Namen zu bekommen, Ich benutze diesen Code zu erhalten:Wie Externer_Host java

public String GetHostIP(HttpServletRequest request) throws UnknownHostException { 
     String ipAddress = request.getRemoteAddr(); 
     System.out.println("remoteAddress ipAddress is : " + ipAddress); 
     try { 
      InetAddress Adress = InetAddress.getByName(ipAddress); 
      clientHostName = Adress.getHostName(); 
      System.out.println("Host name is " + clientHostName); 
     } catch (UnknownHostException e) { 
      System.out.println(e.getMessage()); 
     } 
     return clientHostName; 
    } 

Meine Frage ist, warum ich habe gleiches Ergebnis unabhängig von der Host verbunden

remoteAddress ipAddress ist: 10.8.100.30 Hostname ist: 10.8.100.30

Vielen Dank!

+0

Hinweis: Lesen Sie über Java-Anleitungen. Variablen beginnen nicht mit Großbuchstaben. Das ist sehr verwirrend! Tipp x2: Machen Sie keine Annahmen über die Bibliotheken, die Sie verwenden. Lies ihr Javadoc. Denn typischerweise ist alles, was Sie wissen müssen, dort bereits dokumentiert. Und vielleicht hundert Mal in dieser Community, weil die Leute es vorziehen, hier zu fragen, anstatt vorher etwas zu recherchieren ;-( – GhostCat

Antwort

2

Vom documentation (fett gedruckt von mir):

public String getHostName()

Ruft den Hostnamen für diese IP-Adresse. Wenn diese InetAddress mit einem Hostnamen erstellt wurde, wird dieser Hostname gespeichert und zurückgegeben. Andernfalls wird eine Reverse-Name-Suche durchgeführt, und das Ergebnis wird basierend auf dem vom System konfigurierten Namen-Suchdienst zurückgegeben. Wenn eine Suche des Namensdienstes erforderlich ist, rufen Sie getCanonicalHostName.

Wenn ein Sicherheitsmanager vorhanden ist, wird zuerst die Methode checkConnect mit dem Hostnamen und -1 als Argumente aufgerufen, um festzustellen, ob die Operation zulässig ist. Wenn die Operation nicht zulässig ist, wird die textuelle Darstellung der IP-Adresse zurückgegeben.

This ist die entsprechende Dokumentation von checkConnect.

+0

Danke! Das ist, was ich suche – Gaetan