概述
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.*; /** * 系统信息工具类 */ public final class IPUtil { private static Logger logger = LoggerFactory.getLogger(IPUtil.class); private IPUtil() { } /** * 取到当前机器的IP地址 */ public static String getIp() { String hostIp; List<String> ips = new ArrayList<>(); Enumeration<NetworkInterface> netInterfaces; try { netInterfaces = NetworkInterface.getNetworkInterfaces(); while (netInterfaces.hasMoreElements()) { NetworkInterface netInterface = netInterfaces.nextElement(); Enumeration<InetAddress> inteAddresses = netInterface.getInetAddresses(); while (inteAddresses.hasMoreElements()) { InetAddress inetAddress = inteAddresses.nextElement(); if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) { ips.add(inetAddress.getHostAddress()); } } } } catch (SocketException ex) { ex.printStackTrace(); } hostIp = collectionToDelimitedString(ips, ","); return hostIp; } private static String collectionToDelimitedString(Collection<String> coll, String delim) { if (coll == null || coll.isEmpty()) { return ""; } StringBuilder sb = new StringBuilder(); Iterator<?> it = coll.iterator(); while (it.hasNext()) { sb.append(it.next()); if (it.hasNext()) { sb.append(delim); } } return sb.toString(); } /** * 获取服务器名称 */ public static String getHostName() { String hostName = null; try { hostName = InetAddress.getLocalHost().getHostName(); } catch (Exception e) { logger.warn(e.getMessage(), e); } return hostName; } }
最后
以上就是忧伤背包为你收集整理的如何在java中获取当前请求的IP的全部内容,希望文章能够帮你解决如何在java中获取当前请求的IP所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复