ip_address.go 438 B

123456789101112131415161718192021222324252627
  1. package util
  2. import (
  3. "net"
  4. "strings"
  5. )
  6. // ParseIPAddress parses an IP address and removes port and/or IPV6 format
  7. func ParseIPAddress(input string) string {
  8. var s string
  9. lastIndex := strings.LastIndex(input, ":")
  10. if lastIndex != -1 {
  11. s = input[:lastIndex]
  12. }
  13. s = strings.Replace(s, "[", "", -1)
  14. s = strings.Replace(s, "]", "", -1)
  15. ip := net.ParseIP(s)
  16. if ip.IsLoopback() {
  17. return "127.0.0.1"
  18. }
  19. return ip.String()
  20. }