From f7e6a6f6b7e2b92a4e183053a91f1a22b4ac7144 Mon Sep 17 00:00:00 2001 From: lwl0608 Date: Mon, 13 May 2024 11:31:02 +0800 Subject: [PATCH] fix --- main.go | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 999d152..753104e 100644 --- a/main.go +++ b/main.go @@ -3,13 +3,15 @@ package main import ( "flag" "fmt" + "net" "net/http" + "strings" ) func main() { var host string var port int - flag.StringVar(&host, "h", "127.0.0.1", "IP地址") + flag.StringVar(&host, "h", GetIp(), "IP地址") flag.IntVar(&port, "p", 9000, "端口") flag.Parse() address := fmt.Sprintf("%s:%d", host, port) @@ -24,3 +26,24 @@ func main() { panic(err) } } + +func GetIp() string { + addrs, err := net.InterfaceAddrs() + if err != nil { + return "127.0.0.1" + } + retIp := "" + for _, address := range addrs { + // 检查ip地址判断是否回环地址 + if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { + if ipnet.IP.To4() != nil { + ip := ipnet.IP.String() + if strings.HasPrefix(ip, "172.") { + retIp = ip + break + } + } + } + } + return retIp +}