Golang学习之InterfaceAddrs获取本地IP
来源:互联网 发布:golang test用法 编辑:程序博客网 时间:2024/05/20 11:24
Go 获取本地IP
package mainimport ( "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()) } } }}
如代码所示
Go语言获取外网和本地IP
package mainimport ( "flag" "fmt" "io" "net" "net/http" "os")var get_ip = flag.String("get_ip", "", "external|internal")func main() { fmt.Println("Usage of ./getmyip --get_ip=(external|internal)") flag.Parse() if *get_ip == "external" { get_external() } if *get_ip == "internal" { get_internal() }}func get_external() { resp, err := http.Get("http://myexternalip.com/raw") if err != nil { os.Stderr.WriteString(err.Error()) os.Stderr.WriteString("\n") os.Exit(1) } defer resp.Body.Close() io.Copy(os.Stdout, resp.Body) os.Exit(0)}func get_internal() { addrs, err := net.InterfaceAddrs() if err != nil { os.Stderr.WriteString("Oops:" + err.Error()) os.Exit(1) } for _, a := range addrs { if ipnet, ok := a.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { os.Stdout.WriteString(ipnet.IP.String() + "\n") } } } os.Exit(0)}
阅读全文
0 0
- Golang学习之InterfaceAddrs获取本地IP
- golang go 语言在 window下执行命令 获取本地ip
- sqlplus获取本地IP
- 获取本地ip
- DEPHI 获取本地IP
- 获取本地IP
- QT获取本地ip
- 获取本地IP地址
- 获取本地IP
- 获取本地IP
- php 获取本地IP
- 获取本地IP方法
- 获取本地IP地址
- 获取本地IP
- qt获取本地ip
- ioctl获取本地IP
- java获取本地ip
- 获取本地ip方法
- curl访问https网站时,先导入certificate,然后再访问
- 创建数据表和修改数据表
- js Set类型
- git中Please enter a commit message to explain why this merge is necessary.
- 安装使用Qualcomm® Snapdragon™ Neural Processing Engine (NPE) SDK
- Golang学习之InterfaceAddrs获取本地IP
- 分布式架构与分布式锁
- leetcode 第79题:BFS(广度优先搜索)的简单应用
- 倒茶宴请礼仪简介
- 光环国际PMP:项目管理中如何与客户拉近关系
- 文章标题
- POJ-1789 Truck History(prim算法,最小生成树)
- 子网掩码和IP段计算
- jre和jdk