go语言中怎么获取域名对应的ip地址package main
import (
"fmt"
"net"
"os"
)
func main() {
addrs, err := net.InterfaceAddrs()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for _, address := range addrs {
// 检查ip地址判断是否回环地址
if ipnet, ok := address.(*net.IPNet); ok!ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
fmt.Println(ipnet.IP.String())
}
}
}
}
golang CIDR 与 IpMask 互转解析 在网络设备上,每家厂商表示ip的形式各不相同,但可能表示的是同一个意思,
列如
CIDR表示方法:IP地址/网络ID的位数,比如 10.95.134.192/29 ,其中用 29 位表示网络ID 。
Golang--获取本地IPGolang获取本地IP地址方法,目前了解两种,记录如下:
方法1:
Golang 绑定mac和ip地址 , 限制服务器实际业务:go 二进制文件在私有化部署中,需要对客户的服务器mac和ip进行绑定,系统只能运行在绑定的服务器上 。把mac和ip地址配置到config中 。
运行效果:系统可正常编译,正常访问,在用户Auth接口进行核对 。
//检验Mac和内网IP,测试环境不做校验
func (c *CommonBase)CheckMacAndIp()error {
ipCfg :=g.Cfg().GetString("machine.Ipaddr")
macCfg :=g.Cfg().GetString("machine.Macip")
if ipCfg =="127.0.0.1" {
return nil
}
macArray,_ :=gipv4.GetMacArray()
if len(macArray) ==0 {
return gerror.New("mac地址获取失败")
}
if garray.NewStrArrayFrom(macArray).Contains(macCfg) ==false {
return gerror.New("示授权的应用MAC , 请联系")
}
ipArray,_ :=gipv4.GetIpArray()
ipIntranetArray,_ :=gipv4.GetIntranetIpArray()
if len(ipArray) ==0 len(ipIntranetArray) ==0 {
return gerror.New("ip地址获取失败")
}
if garray.NewStrArrayFrom(ipArray).Merge(ipIntranetArray).Contains(ipCfg) ==false {
return gerror.New("示授权的应用IP,请联系")
}
return nil
}
【go语言处理ip地址 go语言api】 项目使用GoFrame框架1.6 。考虑到客户可能会对内存数据做分析破解 , 可以把mac和ip地址做AES加密 。
关于go语言处理ip地址和go语言api的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 没有系统u盘电脑怎么安装系统,没有系统盘没有u盘怎么重装电脑系统
- gis两个电缆终端,gis电缆出线
- 钉钉怎样发起直播预告,钉钉如何发布直播预告
- linux命令根据关键字 linux 关键字
- 如何做上门维修的网站推广,如何做上门维修的网站推广呢
- mysql5.6.17安装图解,mysql5562安装教程图解
- 深圳直播运营培训,深圳哪里能学直播运营
- php下载数据库表数据 php数据库怎么导入
- 为什么不能拍摄视频,为什么不能拍摄视频的原因