如何确定Web客户端的IP地址(对于JSP)?

wok*_*ena 5 java ip jsp ip-address

我想找出访问我网页的客户端的IP地址.

JSP页面的内容:

<% 
out.print( request.getRemoteAddr() + "<br>");
out.print( request.getRemoteHost() ); 
%> 
Run Code Online (Sandbox Code Playgroud)

输出:

0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1
Run Code Online (Sandbox Code Playgroud)

kar*_*m79 6

<% 
   out.print( request.getRemoteAddr() ); 
   out. print( request.getRemoteHost() ); 
%>
Run Code Online (Sandbox Code Playgroud)
  • request.getRemoteAddr() 返回访问jsp页面的机器的IP地址.
  • request.getRemoteHost()返回您从中访问jsp页面的主机名.如果从服务器本身访问它,它将返回服务器名称.

如果客户端位于代理服务器后面,则上述操作无效,因为您将获得他们所支持的代理的IP,而是尝试:

<%
   out.print( request.getHeader("x-forwarded-for") );
%>
Run Code Online (Sandbox Code Playgroud)

  • 请求+1.getHeader("x-forwarded-for") (2认同)

jsi*_*ght 6

你的方法是正确的.我假设你在localhost上访问它,因此命中了loopback接口.您看到的数字是您的环回接口的IPv6 IP地址.

尝试从另一台机器上击中它.