java - 如何在servlet java中获取客户端公共(public)IP地址

标签 java jsp tomcat servlets servlet-filters

<分区>

我正在使用 Tomcat 服务器和 Java 网络应用程序。 我需要来自请求的客户端公共(public) IP 地址。但我无法得到它,我使用了 request.getHeader("x-forwarded-for") request.getRemoteAddr() 方法,但我得到客户端机器的本地 IP 地址。

最佳答案

您正在本地网络中运行您的服务器。如果它在野外 request.getRemoteAddr() 应该完成它的工作。

如果您甚至在本地网络中确实需要您的公共(public) IP,它在您的本地网络中可能都是相同的,因为它在路由器后面或使用 NAT 的东西后面在我看来这没有多大意义。即使你想获得公共(public) IP,也可以使用像 ipecho 这样的服务:http://ipecho.net/plain

关于java - 如何在servlet java中获取客户端公共(public)IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24422463/

相关文章:

java - 通配类型的协变和逆变

java - 如何制作通知文字

java - Java KeyGenerator 使用单例模式吗?

java - EL 在 jsp 中不工作,servlet api 之间可能不匹配?

tomcat - 响应没有被记录?

java - c3p0 网络中断后重新连接

Java - 指的是实现的类

java - 如何知道JSP是否有未封闭的标签?

java - 如何调用MailServlet向注册用户发送邮件,同时重定向到loginpage.jsp

linux - 将 vFrabric tc 服务器(与 STS 捆绑在一起)安装到 Linux EC2 实例中?