首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取Golang公网IP

是指在Golang编程语言中获取当前设备的公网IP地址。公网IP是指可以在互联网上直接访问的IP地址,用于标识设备在互联网中的唯一性。

在Golang中,可以通过以下方式获取公网IP:

  1. 使用HTTP请求:可以通过向一个公网IP查询接口发送HTTP请求,获取返回结果中的公网IP地址。例如,可以使用http.Get方法发送GET请求到https://api.ipify.org来获取公网IP。代码示例:
代码语言:go
复制
package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	resp, err := http.Get("https://api.ipify.org")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer resp.Body.Close()

	ip, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	fmt.Println("Public IP:", string(ip))
}
  1. 使用DNS解析:可以通过使用DNS解析库获取当前设备的公网IP地址。代码示例:
代码语言:go
复制
package main

import (
	"fmt"
	"net"
)

func main() {
	conn, err := net.Dial("udp", "8.8.8.8:80")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	defer conn.Close()

	localAddr := conn.LocalAddr().(*net.UDPAddr)

	fmt.Println("Public IP:", localAddr.IP)
}

以上两种方法都可以获取到当前设备的公网IP地址。在实际应用中,可以根据具体需求选择适合的方法来获取公网IP。

推荐的腾讯云相关产品:腾讯云服务器(CVM),腾讯云弹性公网IP(EIP)。

腾讯云服务器(CVM)是一种可弹性伸缩的云服务器,提供高性能、可靠稳定的计算能力,适用于各种应用场景。

腾讯云弹性公网IP(EIP)是一种可以独立购买和绑定到云服务器的公网IP地址,提供灵活的公网访问能力。

腾讯云产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券