十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
package main
天柱ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
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())
}
}
}
}
很简单,我送你一个例子,不仅可以显示外网ip还可以显示ip属地,如(福建省厦门市电信)。请看以下的代码:
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 ip地址, 文本型
.局部变量 ip属地, 文本型
标签1.标题 = “”
ip地址 = 到文本 (HTTP读文件 (“”))
ip属地 = 取文本中间 (ip地址, 寻找文本 (ip地址, “您的IP是:/tdtd”, 1, 真) + 19, 取文本长度 (ip地址) - 寻找文本 (ip地址, “您的IP是:/tdtd”, 1, 真) - 19) ' 取剩余字符
ip地址 = 取文本左边 (ip属地, 寻找文本 (ip属地, “/”, 1, 真) - 1)
ip属地 = 取文本中间 (ip属地, 寻找文本 (ip属地, “您来自:/tdtd”, 1, 真) + 17, 寻找文本 (ip属地, “/td/tr”, 1, 真) - 寻找文本 (ip属地, “您来自:/tdtd”, 1, 真) - 18)
标签1.标题 = “你的外网IP地址是:” + ip地址 + “,IP属地:” + ip属地
四楼的代码不理想,取本机IP (),我一开始就想到了,但你上网用的是路由器,所以它取的ip地址是路由器分配的地址。所以我用测试ip的网页来测试你的外网ip这才绝对准确的。
//通过ip138网站来查询外网IP的
#include afxinet.h
void CLanChatDlg::GetNetIP()
{
SetDlgItemText(IDC_NET_IP,"正在获取外网IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
Address="";//ip138网页
myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//读取网络地址
while(myHttpFile-ReadString(strsource))
{ //循环读取下载来的网页文本
// AddToLog(strsource);
int begin=0;
begin=strsource.Find("[",0);
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{ int end=strsource.Find("]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网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
}
项目使用GoFrame框架1.6。考虑到客户可能会对内存数据做分析破解,可以把mac和ip地址做AES加密。
如何查看本机ip地址?其实这个问题问得有点歧义,查看电脑ip可以理解成查看电脑在局域网里的ip设置,也可以理解成电脑在当前互联网中的ip地址。
这2种区别系统大全希望大家一定要去稍微理解下,那么本地IP地址与互联网中IP地址有什么区别呢?
在这里系统大全简单介绍下,本地IP地址需要存在于局域网中,如常见的路由器组建的多人共享上网就属于局域网,路由器会为每个用户分配一个路由器局域IP地址,局域网内所有用户共用的时一个互联网IP地址。
一:如何查看本机ip地址,首先介绍下,查看电脑在局域网里的ip地址
首先,右击“网上邻居”,选择“属性”;
然后,在打开的窗口中找到“本地连接”,右击,选择“属性”;
第三,在弹出的对话框中,选择“Internet协议”,点击“属性”。
就可以查看电脑的ip了,如下图:
查看局域网中内部IP地址方法
不过,如果你的电脑是自动获得ip,以上方法则不能查看ip,那怎么办呢?
可以尝试一下方法:“开始”-“运行”,输入“cmd”,在输入“ipconfig /all”,就可以查看到ip了!非常全,可以好好研究研究了!
我的建议是访问一个显IP网站,如ip138 然后从源文件里正则匹配出IP地址