[英]How to get ip from request in java?
我已將代碼上傳到服務器上。
我在用:
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給我: 233.233.22.331
我應該怎么做才能在Java中獲得它?
如果您想從請求中獲取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);
嘗試這個。 它將返回您的LAN 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);
該代碼段將為您提供IP地址。
String ipaddress = req.getHeader("X-FORWARDED-FOR");
if (ipaddress == null) {
ipaddress = req.getRemoteAddr();
}
return ipaddress;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.