java在Jsp页面中获取客户端的IP地址
我想在jsp页面中获取客户机的Ip地址,并将其存储在数据库中
我在Jsp页面中使用以下代码来显示fech Ip地址,但它显示的是服务器的Ip地址
<input type="hidden" name="ipaddress" value="<%=request.getRemoteAddr()%>"/>
你可以在下面搜索框中键入要查询的问题!
我想在jsp页面中获取客户机的Ip地址,并将其存储在数据库中
我在Jsp页面中使用以下代码来显示fech Ip地址,但它显示的是服务器的Ip地址
<input type="hidden" name="ipaddress" value="<%=request.getRemoteAddr()%>"/>
# 1 楼答案
尝试使用
request
对象从服务器端获取客户端IP地址从来都不是一种可靠的方法最可靠的程序往往在客户端执行,比如ActiveX、小程序或Javascript。然而,这也带来了一些挑战。检查this question的答案,这样你就知道你面对的是什么(This is my prefered answer from that)
# 2 楼答案
在通常情况下,方法
ServletRequest.getRemoteAddr()
(或getRemoteHost()
和getRemotePort()
)应该返回实际客户机的详细信息。 但是,如果它通过代理或不同的servlet引擎进行路由,您将获得这些机器的ip。要解决这些问题,您可以尝试以下操作但如果请求直接来自客户机,则可能返回null。您可以通过一些附加条件来处理这种情况,以获得有效的数据