ip.go 348 B

123456789101112131415161718
  1. package utils
  2. import "net"
  3. func GetRealIp() (string, error) {
  4. conn, err := net.Dial("udp", "8.8.8.8:8")
  5. if err != nil {
  6. panic(err)
  7. }
  8. defer conn.Close()
  9. localAddr := conn.LocalAddr().(*net.UDPAddr)
  10. address := localAddr.String()
  11. ipAddress, _, err := net.SplitHostPort(address)
  12. if err != nil {
  13. return "", err
  14. }
  15. return ipAddress, nil
  16. }