request.getRemoteHost()是否返回浏览器主机的IP?

时间:2012-01-06 22:07:12

标签: java jsp servlets ip-address

<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 个答案:

答案 0 :(得分:11)

<强> getRemoteHost()           返回发送请求的客户端的完全限定名称。

<强>的getRemoteAddr()           返回发送请求的客户端的Internet协议(IP)地址。

request.getRemoteAddr()返回comp的IP地址,而request.getRemoteHost()尝试退出主机名。如果主机名为为空,则它会尝试检索IP地址,就像getRemoteAddr()的工作方式一样。

Ref:

答案 1 :(得分:3)

它确实是运行浏览器的计算机的IP,因此它会返回127.0.0.1,或者在您的情况下::1,这是IPv6中的localhost。