我想从地址范围内获得计算机的免费本地IP地址。net.LookupHost只返回127.0.0.1或公共ip地址。
Net.LookupHost(姓名)
发布于 2022-05-27 09:37:25
也许下面这个函数可以帮助您:
func getLocalhostIP() string {
netInterfaces, err := net.Interfaces()
if err != nil {
log.Errorf("net.Interfaces failed, err:", err)
return ""
}
for i := 0; i < len(netInterfaces); i++ {
if (netInterfaces[i].Flags & net.FlagUp) != 0 {
addrs, _ := netInterfaces[i].Addrs()
for _, address := range addrs {
if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
return ipnet.IP.String()
}
}
}
}
}
return ""
}https://stackoverflow.com/questions/72403001
复制相似问题