2010-07-05 20 views

Odpowiedz

10

Faktycznie, na adres IP serwera, trzeba użyć

String serverIP = request.getLocalAddr(); 
+0

Dziękuję s. Dlaczego nie widziałem tego na javadoc? @ _ @ – portoalet

+0

@portoalet: Może nie było go z widokiem. getLocalAddr() został dodany do wersji 2.4 specyfikacji serwletu (uważam, że pierwszym wynikiem w Google jest Javadoc dla Java EE 1.3). – ig0774

+0

OK, który to wyjaśnia. – portoalet

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

Aby uzyskać rzeczywisty adres IP serwera oraz nazwę hosta (rzeczywistej i nie została ustawiona przez np. proxy) użyj tego:

  <%@ 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 %> 
Powiązane problemy