2010-07-05 9 views

Antwort

10

Eigentlich für die IP-Adresse des Server, müssen Sie

String serverIP = request.getLocalAddr(); 
+0

Danke s. Warum habe ich das auf dem Javadoc nicht gesehen? @ _ @ – portoalet

+0

@portoalet: Darf es nicht übersehen haben. getLocalAddr() wurde für die 2.4-Version der Servlet-Spezifikation hinzugefügt (ich glaube, das erste Ergebnis in Google ist das Javadoc für Java EE 1.3) – ig0774

+0

Ok, das erklärt es. – portoalet

3
String sIPAddr = request.getRemoteAddr(); 
2
String addr = request.getRemoteAddr(); 
0
request.getHeader("X_FORWARDED_FOR") 
2

Um einen tatsächlichen Server-IP und Hostnamen (tatsächlich zu bekommen und nicht festgelegt verwenden, indem zB ein Proxy) benutze dies:

  <%@ page import="java.net.*" %> 
      [...] 
      <% 
      String hostname, serverAddress; 
      hostname = "error"; 
      serverAddress = "error"; 
      try { 
       InetAddress inetAddress; 
       inetAddress = InetAddress.getLocalHost(); 
       hostname = inetAddress.getHostName(); 
       serverAddress = inetAddress.toString(); 
      } catch (UnknownHostException e) { 

       e.printStackTrace(); 
      } 
      %> 
      <li>InetAddress: <%=serverAddress %> 
      <li>InetAddress.hostname: <%=hostname %>