[英]WICKET: how to get client's ip/address
我正在使用wicket 1.5.1,无法弄清楚这一点。
public class MyPage extends WebPage {
public MyPage() {
String clientAddress = ...?
WebRequest req = (WebRequest) RequestCycle.get().getRequest();
HttpServletRequest httpReq = (HttpServletRequest) req.getContainerRequest();
String clientAddress = httpReq.getRemoteHost();
子类WebClientInfo
,提供委托受保护的WebClientInfo.getRemoteAddr()
的公共方法。 然后创建一个方法以在自定义RequestCycle
类中查询它。 在Wicket 1.3-1.4中,我通过RequestCycle
实现了这一点,但是1.5似乎有所不同: Wicket 1.5中的RequestCycle
WebClientInfo
具有查询X-Forwarded-For
erquest参数的优势,如果您的服务器位于使用XFF的代理/负载均衡器后面,它将返回正确的IP地址。
使用Wicket 6和7,您可以执行以下操作:
String remoteAddress = ((WebClientInfo)Session.get().getClientInfo())
.getProperties()
.getRemoteAddress();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.