java本机ip_java如何获取本机IP地址
本⽂实例为⼤家分享了java实现获取本机IP地址的具体代码,供⼤家参考,具体内容如下
原因:同⼀台机⼦上开着两个web⼯程,现在有需求需要保证两个项⽬之间交互的安全问题。因为有个旧的项⽬,所以尽量不做改动。只能在新项⽬中做改动。
处理办法:获取本地的IP地址,有请求进来时查看请求的来源,只有来源是本地IP的才予以通过。
代码如下:
/**
* 任务调度调⽤
*/
public class TaskControlInterceptor implements Interceptor {
//存放本机IP地址列表(包括ipv4和ipv6)
private static Set localHostList = new HashSet<>();
@Override
public void intercept(Invocation inv) {
Controller controller = Controller();
HttpServletRequest request = Request();
/*
获取本机的IP地址列表
请求的时候判断来源IP地址是否在该列表中,如果不在的话则不予通过
*/
小学教师读书心得if (localHostList.size() == 0) {
localHostList = getIpAddress();
}
if (StringUtils.RemoteAddr())) {
if (!RemoteAddr())) {
Result result = new Result(new Error("450","⾮法的请求,请求来源IP地址不是本机"));
return;
}
} else {
Result result = new Result(new Error("450","⾮法的请求,请求来源IP地址为空"));
京剧老生鼻祖
return;
}
inv.invoke();
}
/**
* 获取本机的IP地址(包括ipv4和ipv6)
*
突然想起你萧亚轩包含回环地址127.0.0.1和0:0:0:0:0:0:0:1
*/
private static Set getIpAddress() {
Set ipList = new HashSet<>();
try {
Enumeration allNetInterfaces = NetworkInterfaces(); InetAddress ip = null;
电脑蓝牙while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) Element(); //排除虚拟接⼝和没有启动运⾏的接⼝
if (netInterface.isVirtual() || !netInterface.isUp()) {
continue;
} else {
Enumeration addresses = InetAddresses();
while (addresses.hasMoreElements()) {
ip = Element();
if (ip != null && (ip instanceof Inet4Address || ip instanceof Inet6Address)) { ipList.HostAddress());
}
}
}
}wifi密码怎么改
} catch (Exception e) {
e.printStackTrace();
}
return ipList;
}
}
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持脚本之家。
>五险一金指的是哪五险哪一金
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论