Java获取IP地址,IpUtils工具类,Java IP地址获…
2020-01-17 08:52:04来源:博客园 阅读 ()
Java获取IP地址,IpUtils工具类,Java IP地址获取
================================
©Copyright 蕃薯耀 2020-01-17
https://www.cnblogs.com/fanshuyao/
import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; public class IpUtils { private static final String[] HEADERS = { "X-Forwarded-For", "Proxy-Client-IP", "WL-Proxy-Client-IP", "HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED", "HTTP_X_CLUSTER_CLIENT_IP", "HTTP_CLIENT_IP", "HTTP_FORWARDED_FOR", "HTTP_FORWARDED", "HTTP_VIA", "REMOTE_ADDR", "X-Real-IP" }; /** * 判断ip是否为空,空返回true * @param ip * @return */ public static boolean isEmptyIp(final String ip){ return (ip == null || ip.length() == 0 || ip.trim().equals("") || "unknown".equalsIgnoreCase(ip)); } /** * 判断ip是否不为空,不为空返回true * @param ip * @return */ public static boolean isNotEmptyIp(final String ip){ return !isEmptyIp(ip); } /*** * 获取客户端ip地址(可以穿透代理) * @param request HttpServletRequest * @return */ public static String getIpAddress(HttpServletRequest request) { String ip = ""; for (String header : HEADERS) { ip = request.getHeader(header); if(isNotEmptyIp(ip)) { break; } } if(isEmptyIp(ip)){ ip = request.getRemoteAddr(); } if(isNotEmptyIp(ip) && ip.contains(",")){ ip = ip.split(",")[0]; } if("0:0:0:0:0:0:0:1".equals(ip)){ ip = "127.0.0.1"; } return ip; } /** * 获取本机的局域网ip地址,兼容Linux * @return String * @throws Exception */ public String getLocalHostIP() throws Exception{ Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); String localHostAddress = ""; while(allNetInterfaces.hasMoreElements()){ NetworkInterface networkInterface = allNetInterfaces.nextElement(); Enumeration<InetAddress> address = networkInterface.getInetAddresses(); while(address.hasMoreElements()){ InetAddress inetAddress = address.nextElement(); if(inetAddress != null && inetAddress instanceof Inet4Address){ localHostAddress = inetAddress.getHostAddress(); } } } return localHostAddress; } }
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)
================================
©Copyright 蕃薯耀 2020-01-17
https://www.cnblogs.com/fanshuyao/
原文链接:https://www.cnblogs.com/fanshuyao/p/12204773.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash