在Jsp页面中获取客户端的IP地址
我想在我的jsp页面中获取客户端的IP地址,并希望存储在数据库中。
我正在Jsp页面中使用以下代码来查找IP地址,但它显示的是服务器IP地址。
<input type="hidden" name="ipaddress" value="<%=request.getRemoteAddr()%>"/>
回答:
在通常情况下,方法ServletRequest.getRemoteAddr()
(或getRemoteHost()
和getRemotePort()
)应返回实际客户的详细信息。但是,如果它是通过代理或其他servlet引擎路由的,您将获得这些机器的IP。为了解决这些情况,您可以尝试以下操作
request.getHeader("VIA") --> Gateway request.getHeader("X-FORWARDED-FOR")--> IPaddress
但是,如果请求直接来自客户端,则此方法可能返回null。您可以通过一些其他条件来处理这种情况以获取有效数据。
以上是 在Jsp页面中获取客户端的IP地址 的全部内容, 来源链接: utcz.com/qa/423421.html