24 lines
462 B
Go
24 lines
462 B
Go
package util
|
||
|
||
import (
|
||
"context"
|
||
"net"
|
||
)
|
||
|
||
type checker struct{}
|
||
|
||
var Checker checker
|
||
|
||
func (checker) NetOk() bool {
|
||
r := &net.Resolver{ //指定DNS,防止本地DNS缓存影响
|
||
PreferGo: true,
|
||
Dial: NetDailEr(),
|
||
}
|
||
if ip, err := r.LookupIP(context.Background(), "ip4", "www.msftconnecttest.com"); err != nil { //通过DNS确认是否在线
|
||
return false
|
||
} else if len(ip) == 0 || ip[0].String() != "13.107.4.52" {
|
||
return false
|
||
}
|
||
return true
|
||
}
|