[英]How to get ip from request in java?
I have uploaded my code on server. 我已将代码上传到服务器上。
I am using: 我在用:
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);
}
I am getting: 我正进入(状态:
Remote_Addr ipAddress===>null
HTTP_X_FORWARDED_FOR ipAddress==>null
getRemoteAddr ipAddress=>127.0.0.1
But in google myip give me: 233.233.22.331
但是在谷歌myip给我: 233.233.22.331
What should I do to get it in java ?? 我应该怎么做才能在Java中获得它?
Below should help you if you want to get IP from 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);
Try this. 尝试这个。 It will return you your LAN IP(ServerIP) 它将返回您的LAN IP(ServerIP)
InetAddress ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
For java web applications. 对于Java Web应用程序。 If you want your visitor's IP 如果您想要访客的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);
This code snippet will give you IP address. 该代码段将为您提供IP地址。
String ipaddress = req.getHeader("X-FORWARDED-FOR");
if (ipaddress == null) {
ipaddress = req.getRemoteAddr();
}
return ipaddress;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.