0


如何使用 Go 获取你的 IP 地址

一个 IP 地址(互联网协议地址)是分配给连接到网络的设备的唯一标识符,允许它们通过互联网或局域网与其他设备通信。

如何使用 Go 获取你的 IP 地址呢?

公共 IP 地址 vs 私有 IP 地址

公共 IP 地址是分配给连接互联网的设备的,用于全球访问。它对互联网上的所有人可见,并用于外部识别设备。相反,私有(本地)IP 地址用于在私有网络内识别设备,仅在该私有网络内用于通信,外部不可见。

如何在 Go 中获取公共 IP 地址

在 Go 中,可以使用

net/http

包发起 HTTP 请求,从外部 API 获取公共 IP 地址。

package main

import("fmt""io/ioutil""net/http")funcmain(){
    response, err := http.Get("https://api.ipquery.io")if err !=nil{
        fmt.Println("获取公共 IP 时出错:", err)return}defer response.Body.Close()

    body,_:= ioutil.ReadAll(response.Body)
    fmt.Println("- IP 地址:",string(body))}

如何在 Go 中获取本地 IP 地址

要获取本地 IP 地址,可以使用

net

包并检索网络接口,检查系统的本地 IP 地址。

package main

import("fmt""net")funcmain(){
    addrs, err := net.InterfaceAddrs()if err !=nil{
        fmt.Println("出错:", err)return}for_, addr :=range addrs {if ipnet, ok := addr.(*net.IPNet); ok &&!ipnet.IP.IsLoopback(){if ipnet.IP.To4()!=nil{
                fmt.Println("- IP 地址:", ipnet.IP.String())}}}}
参考来源

本文转载自: https://blog.csdn.net/magicyangjay111/article/details/142489349
版权归原作者 TechLead KrisChang 所有, 如有侵权,请联系我们删除。

“如何使用 Go 获取你的 IP 地址”的评论:

还没有评论