登录
首页 >  Golang >  Go问答

如何使用golang获得127.0.0.1 - 127.0.x.255范围内的免费IP?

来源:stackoverflow

时间:2024-04-28 20:24:25 258浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《如何使用golang获得127.0.0.1 - 127.0.x.255范围内的免费IP?》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我想从地址范围中获取计算机的免费本地 IP 地址。 net.LookupHost 将仅返回 127.0.0.1 或公共 IP 地址。

net.LookupHost(名称)


正确答案


也许下面的这个功能可以帮助你:

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 ""
    }

本篇关于《如何使用golang获得127.0.0.1 - 127.0.x.255范围内的免费IP?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>