plugai_updsrv/pkg/utils/ip.go

25 lines
442 B
Go

package utils
import (
"fmt"
"net"
"net/url"
)
// ExtractIP 把 "http://1.2.3.4:8000" → "1.2.3.4"
func ExtractIP(rawURL string) (string, error) {
u, err := url.Parse(rawURL)
if err != nil {
return "", err
}
host := u.Host
if h, _, errSplit := net.SplitHostPort(host); errSplit == nil {
host = h
}
ip := net.ParseIP(host)
if ip == nil {
return "", fmt.Errorf("invalid IP in url: %s", rawURL)
}
return ip.String(), nil
}