我已经把我的代码上传到服务器上了。
我正在使用:
String ipAddress1 = FrameworkUtil.getServletRequest().getHeader("Remote_Addr");
System.out.println("Remote_Addr ipAddress===>"+ipAddress1);
String ipAddress = FrameworkUtil.getServletRequest().getHeader("HTTP_X_FORWARDED_FOR");
System.out.println("HTTP_X_FORWARDED_FOR ipAddress==>"+ipAddress);
if (ipAddress == null) {
ipAddress = FrameworkUtil.getServletRequest().getRemoteAddr();
System.out.println(" getRemoteAddr ipAddress=>"+ipAddress);
}我得到了:
Remote_Addr ipAddress===>null
HTTP_X_FORWARDED_FOR ipAddress==>null
getRemoteAddr ipAddress=>127.0.0.1但在谷歌中,myip But me:233.233.22.331
我应该怎么做才能在java中获得它??
发布于 2014-12-17 17:59:30
如果您想从request中获取IP,以下内容将对您有所帮助:
String ip = null;
if (request.getHeader("X-Forwarded-For") != null) {
String xForwardedFor = request.getHeader("X-Forwarded-For");
if (xForwardedFor.indexOf(",") != -1) {
ip = xForwardedFor.substring(xForwardedFor.lastIndexOf(",") + 2);
} else {
ip = xForwardedFor;
}
} else {
ip = request.getRemoteAddr();
}
System.out.println("Request from IP : "+ip);发布于 2014-12-17 17:52:02
尝尝这个。它将返回您的局域网IP(ServerIP)
InetAddress ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());用于java web应用程序。如果你想要你的访问者的IP
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
System.out.println("ipAddress:" + ipAddress);发布于 2014-12-17 18:00:08
这段代码将为您提供IP地址。
String ipaddress = req.getHeader("X-FORWARDED-FOR");
if (ipaddress == null) {
ipaddress = req.getRemoteAddr();
}
return ipaddress;https://stackoverflow.com/questions/27522559
复制相似问题