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

标签 java jsp ip-address ip

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

JSP页面内容:

<% 
out.print( request.getRemoteAddr() + "<br>");
out.print( request.getRemoteHost() ); 
%> 

输出:

0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1

最佳答案

<% 
   out.print( request.getRemoteAddr() ); 
   out. print( request.getRemoteHost() ); 
%>
  • request.getRemoteAddr() 返回ip 您所在机器的地址 访问jsp页面。
  • request.getRemoteHost() 返回 您所在的主机名称 访问jsp页面。如果您访问 它来自服务器本身,它将返回 服务器名称。

如果客户端在代理后面,上面的方法没有用,因为你会得到他们在后面的代理的 IP,而是尝试:

<%
   out.print( request.getHeader("x-forwarded-for") );
%>

关于java - 如何确定 Web 客户端的 IP 地址(对于 JSP)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262270/

相关文章:

node.js - 在 STUN 服务器上实现 XOR-MAPPED-ADDRESS 属性

ruby-on-rails - 在 Rails 中获取客户端 IP 地址并输出以查看

java.net.ConnectException : Connection timed out: connect, 使用路由器

java - 识别使用 Java 的人所说的字母

java - 拆分字符串同时忽略转义字符

jsp - 如何让 JSP 标记文件不忽略所有空格?

java - 部分空指针异常

java - TeamCity:此处不允许使用脚本元素 jsp:declaration、jsp:expression、jsp:scriptlet

.net - 为什么将 IP 地址而不是域名传递给 System::Net::Mail::SmtpClient 会导致它抛出身份验证错误?

java - AXIS2 轴故障 : this is a soap-encoded endpoint