Java request.getRemoteHost()是否返回浏览器主机的IP? 你好现在是时候了
在上面的JSP代码中,我认为Java request.getRemoteHost()是否返回浏览器主机的IP? 你好现在是时候了,java,jsp,servlets,ip-address,Java,Jsp,Servlets,Ip Address,在上面的JSP代码中,我认为request.getRemoteHost()将返回浏览器主机的ip地址。但是,它返回类似于:0:0:0:0:0:0:0:1。有什么问题吗?它确实是运行浏览器的机器的IP,因此它会返回127.0.0.1,或者在您的情况下返回::1,它是IPv6中的本地主机。它确实是运行浏览器的机器的IP,因此它会返回127.0.0.1,或者在您的情况下返回::1,它是IPv6中的本地主机。getRemoteHost() 返回发送请求的客户端的完全限定名称 getRemoteAddr(
request.getRemoteHost()
将返回浏览器主机的ip地址。但是,它返回类似于:0:0:0:0:0:0:0:1
。有什么问题吗?它确实是运行浏览器的机器的IP,因此它会返回127.0.0.1
,或者在您的情况下返回::1
,它是IPv6中的本地主机。它确实是运行浏览器的机器的IP,因此它会返回127.0.0.1
,或者在您的情况下返回::1
,它是IPv6中的本地主机。getRemoteHost()
返回发送请求的客户端的完全限定名称
getRemoteAddr()
返回发送请求的客户端的Internet协议(IP)地址
request.getRemoteAddr()
返回公司的IP地址,而request.getRemoteHost()
尝试取消主机名。如果主机名为空,则它会尝试检索IP地址,就像getRemoteAddr()的工作方式一样
getRemoteHost()
返回发送请求的客户端的完全限定名称
getRemoteAddr()
返回发送请求的客户端的Internet协议(IP)地址
request.getRemoteAddr()
返回公司的IP地址,而request.getRemoteHost()
尝试取消主机名。如果主机名为空,则它会尝试检索IP地址,就像getRemoteAddr()的工作方式一样
另外,请注意,
request.getRemoteHost()
将返回最后一个代理或客户端的地址。如果您从Apache HTTP代理对您的Web应用程序的请求,它可能会报告Apache服务器的地址,如果它与您的Web应用程序位于同一服务器上,则可以报告为本地主机,例如127.0.0.1或::1。是的,其中一些代理添加了“X-Forwarded-For”头,因此我通常首先检查该头,然后,作为最后一个调用getRemoteHost()的方法,请注意request.getRemoteHost()
将返回最后一个代理或客户端的地址。如果您从Apache HTTP代理对您的Web应用程序的请求,它可能会报告Apache服务器的地址,如果它与您的Web应用程序位于同一服务器上,则可以报告为本地主机,例如127.0.0.1或::1。是的,其中一些代理添加了“X-Forwarded-For”头,因此我通常首先检查该头,然后,作为最后手段,调用getRemoteHost()
<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>