首页
学习
活动
专区
工具
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地址,提供灵活的公网访问能力。

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

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

相关·内容

  • 不通过浏览器获取公网 IP

    一.不通过浏览器获取公网 IP 有的时候我们的计算机处于受限状态,不能使用浏览器或者 HTTP 协议。 也就不能使用类似: curl ifconfig.io 之类的命令来获取公网 IP。...但其实可以不通过浏览器,而是通过 DNS 来获取公网 IP,使用如下命令: dig @ns1.google.com TXT o-o.myaddr.l.google.com +short # 或者:nslookup...这些命令会返回公网 IP 的原理是: Google 等公司会编写程序,监听在它们类似 o-o.myaddr.l.google.com 的地址上。...二.nginx设置反向代理,如何获取真实客户端ip upstream这个模块提供一个简单方法来实现在轮询和客户端IP之间的后端服务器负荷平衡。...Host包含客户端真实的域名和端口号; X-Real-IP表示客户端真实的IP; X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的

    78320

    不通过浏览器获取公网 IP

    一.不通过浏览器获取公网 IP 有的时候我们的计算机处于受限状态,不能使用浏览器或者 HTTP 协议。 也就不能使用类似: curl ifconfig.io 之类的命令来获取公网 IP。...但其实可以不通过浏览器,而是通过 DNS 来获取公网 IP,使用如下命令: dig @ns1.google.com TXT o-o.myaddr.l.google.com +short # 或者:nslookup...这些命令会返回公网 IP 的原理是: Google 等公司会编写程序,监听在它们类似 o-o.myaddr.l.google.com 的地址上。...二.nginx设置反向代理,如何获取真实客户端ip upstream这个模块提供一个简单方法来实现在轮询和客户端IP之间的后端服务器负荷平衡。...Host包含客户端真实的域名和端口号; X-Real-IP表示客户端真实的IP; X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的

    79620

    Python通过代码获取本机局域网ip公网ip

    Python 获取本机局域网 IP 通过创建一个 UDP 套接字,并连接到公共的 DNS 服务器(此处是 Google 的 8.8.8.8 ),然后通过套接字的 getsockname ()方法获取本地...Python 获取本机公网 IP 使用 requests 库发送一个 GET 请求到 https://api.ipify.org ?...format = json 的 API 端点,这个 API 会返回包含公网 IP 地址的 JSON 响应。我们从响应数据中提取出 IP 地址并将其返回。这样你就可以获取到你的公网 IP 地址。...import requests # 定义一个函数,用于获取公网IP地址 def get_public_ip(): # IP地址查询API url = 'https://api.ipify.org...IP地址 public_ip = data['ip'] return public_ip # 调用函数获取公网IP地址 public_ip = get_public_ip() print

    45000

    公网IP、私网IP、动态IP、静态IP

    先说公网IP和私网IP。 我们都听过IP地址,但对公网IP和私网IP可能就比较挠头了。把IP的问题放在一边,我们先说一下什么是公网,什么是私网。公网又名广域网、外网,指的就是我们平时说的互联网。...公网IP是在公网中使用的IP地址,私网IP是在局域网中使用的IP地址。...除此之外,A、B、C三类的所有其余IP都是公网IP。私网IP只会出现在私网内,公网IP只会出现在公网内。 公网IP和私网IP在使用上有什么区别呢?。...对公网上的其他电脑来说,无论是路由器下的哪个设备访问它,它获取到的对方IP都是一样的,都是局域网的网关IP。至于是局域网内具体哪个设备访问它,它是无法知道的。...两相比较,公网IP自然是最好的选择。 如果想要查看自己的IP是否为公网IP,请见本系列文章《如何查询本机IP是否为公网IP》一文。 如果大家想把家里的宽带由私网IP改为公网IP,可以向运营商申请。

    13.3K33

    公网IP和内网IP区别

    什么是公网IP(外网IP): 公网IP就是除了保留IP地址以外的IP地址,可以与Internet上的其他计算机随意互相访问。我们通常所说的IP地址,其实就是指的公网IP。...互联网上的每台计算机都有一个独立的IP地址,该IP地址唯一确定互联网上的一台计算机。这里的IP地址就是指的公网IP地址。...怎样理解互联网上的每台计算机都有一个唯一的IP地址:其实,互联网上的计算机是通过“公网IP+内网IP”来唯一确定的,就像很多大楼都是201房间一样,房间号可能一样,但是大楼肯定是唯一的。...公网IP地址和内网IP地址也是同样,不同企业或学校的机器可能有相同的内网IP地址,但是他们的公网IP地址肯定不同。那么这些企业或学校的计算机是怎样IP地址共享的呢?...时,就可以通过NAT主机的NAT技术,将内网我IP地址修改为公网IP地址,如此一来,内网计算机就可以向Internet请求数据了。

    6.2K20

    公网 IP 使用记录

    几经周折终于拿到了属于自己的 公网 IP,测试成功,做个记录。...公网 IP 公网 IP 一般指广域网上的 IPv4 地址, 在日常上网时公网 IP 可有可无, 但当需要局域网内某台服务器对外网提供服务时便需要拥有这样一个 IP....就好比日常使用互联网时我们是拿着别人家的地址, 去别人家获取资源, 但是当我们想要为外界提供服务时, 就需要自己拥有一个地址, 使得别人可以拿着这个地址到我们家来拿资源, 这个门牌号就是公网 IP....使用配置 获取公网 IP 家庭宽带, 如果你住在美国, 应该有的是用不完的公网 IP , 在我们国家需要向你居住的城市为你安装宽带的网络运营商申请公网 IP 服务....随便一个查询 IP 的服务看自己的 IP,比对二者是否一致,一致的越多,越说明我们的 IP公网 IP 端口映射 使用公网 IP 核心在于端口映射, NAT 比较方便又安全 这就是在将广域网

    3.7K10
    领券