1. 简单方法:使用NETARM提供的IP查询网址获取IP,支持IPV4和IPV6。
由于有用户恶意刷IP服务器,故IP服务器已暂停服务,请自行寻找或搭建并替换!
(1) 获取IPV4:
...(2) 获取IPV6:
...GO语言函数:
func getIPV4() string {
resp, err := http.Get("https://xxxxxxxx.com")
if err != nil {
return ""
}
defer resp.Body.Close()
content, _ := ioutil.ReadAll(resp.Body)
return string(content)
}
func getIPV6() string {
resp, err := http.Get("https://xxxxxxxx.com")
if err != nil {
return ""
}
defer resp.Body.Close()
content, _ := ioutil.ReadAll(resp.Body)
return string(content)
}
#只需要把网址替换成你需要的即可。
func getIPV6Lan() string {
addrs, err := net.InterfaceAddrs()
if err != nil {
return ""
}
for _, addr := range addrs {
ipv6 := regexp.MustCompile(`(\w+:){7}\w+`).FindString(addr.String())
if str.Count(ipv6, ":") == 7 {
return ipv6
}
}
return ""
}
#此方法一般情况下是可以正确获取到IP的
3. 可能需要引入:
import "fmt";
import "ini";
import "io/ioutil";
import "log";
import "net";
import "net/http";
import "os";
import "path";
import "path/filepath";
import "regexp";
import "runtime";
import str "strings";
import "time";