记-Golang获取本机IP及快速搭建局域FTP
1 package main 2 3 import ( 4 "fmt" 5 "net" 6 "net/http" 7 "strings" 8 ) 9 10 func main() { 11 addrs, err := net.InterfaceAddrs() //局域文件传输代码 12 if err != nil { 13 fmt.Println(err) 14 return 15 } 16 for _, address := range addrs { 17 // 检查ip地址判断是否回环地址 18 if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { 19 if ipnet.IP.To4() != nil { 20 ipv4 := ipnet.IP.String() 21 if strings.Contains(ipv4,"10.") { //此处需根据公司ip段进行判断 22 fmt.Printf("访问:http://%s:8080", ipnet.IP.String()) 23 } 24 } 25 } 26 } 27 http.Handle("/", http.FileServer(http.Dir("."))) 28 http.ListenAndServe(":8080", nil) 29 30 31 32 //获取本机IP 33 //addrs, err := net.InterfaceAddrs() 34 //if err != nil { 35 // fmt.Println(err.Error()) 36 // 37 //} 38 // 39 //var ip_arr []string 40 //for _, address := range addrs {41 // if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { 42 // if ipnet.IP.To4() != nil { 43 // ip_arr = append(ip_arr, ipnet.IP.String()) 44 // } 45 // } 46 //} 47 //fmt.Println(ip_arr) 48 }
转载请声明出处哦~,本篇文章发布于Biuget-Golang的博客:
https://www.cnblogs.com/Biuget-Golang/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」