Возвращает ли request.getRemoteHost () IP-адрес хоста браузера? - PullRequest
1 голос
/ 07 января 2012
<HTML>
<BODY>
<%
    // This scriptlet declares and initializes "date"
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now
<%
    out.println( date );
    out.println( "<BR>Your machine's address is " );
    out.println( request.getRemoteHost());
%>
</BODY>
</HTML>

В приведенном выше коде JSP я думал, что request.getRemoteHost() вернет IP-адрес хоста браузера.Однако, это возвратило что-то вроде: 0:0:0:0:0:0:0:1.В чем проблема?

Ответы [ 2 ]

12 голосов
/ 25 апреля 2012

getRemoteHost () Возвращает полное имя клиента, отправившего запрос.

getRemoteAddr () Возвращает IP-адрес клиента, отправившего запрос.

request.getRemoteAddr() возвращает IP-адрес компа, тогда как request.getRemoteHost() пытается удалить имя хоста. Если имя хоста пусто , тогда оно пытается получить IP-адрес, так же, как работает getRemoteAddr ().

Ref:

3 голосов
/ 07 января 2012

Это действительно IP-адрес компьютера, на котором запущен браузер, поэтому он вернет 127.0.0.1, или в вашем случае ::1, который является локальным в IPv6.

...