通过Golang获取公网IP地址
创作时间:
作者:
@小白创作中心
通过Golang获取公网IP地址
引用
CSDN
1.
https://blog.csdn.net/IOT_AI/article/details/137447436
在Go语言中,获取当前的外网(公网)IP地址可以通过多种方法实现。其中一种常见的方法是通过访问外部服务来获取。这些服务可以返回访问者的公网IP地址,例如
httpbin.org/ip
或
ipify.org
。下面是一个简单的例子,展示了如何使用Go标准库中的
net/http
包和
io/ioutil
包来实现这一功能。
1. 示例代码
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 使用http.Get函数请求外部服务
resp, err := http.Get("https://api.ipify.org")
if err != nil {
fmt.Printf("请求失败: %s\n", err)
return
}
defer resp.Body.Close() // 确保关闭响应体
// 读取响应体内容
ip, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("读取响应失败: %s\n", err)
return
}
// 输出获取到的外网IP
fmt.Printf("当前的外网IP是: %s\n", string(ip))
}
2. 如何工作
请求外部服务:
http.Get("https://api.ipify.org")
发送一个HTTP GET请求到
api.ipify.org
,这个服务会返回访问者的公网IP地址。读取响应:
ioutil.ReadAll(resp.Body)
读取响应体的内容,该内容即为公网IP地址。输出结果:最后,程序会将获取到的公网IP地址打印出来。
3. 注意事项
- 服务依赖:这种方法依赖于外部服务(如ipify.org)。如果服务不可用,这个方法也会失败。
- 隐私考虑:发送请求到外部服务可能会暴露你的公网IP地址和其他相关信息给服务提供者。在使用这些服务时,请确保了解其隐私政策。
- 错误处理:实际使用时,请确保对
http.Get
和
ioutil.ReadAll
可能返回的错误进行适当处理。
通过这种方式,你可以轻松地在Go程序中获取当前的外网IP地址。
热门推荐
探索海南保亭县:自然风光、文化体验与旅游攻略全解析
找回丢失手机的实用指南:定位、方法与预防措施
铁皮石斛的生长习性与适合环境条件解析
斗罗大陆:小舞柔骨兔武魂配置攻略
寺与庙的区别:祭拜与修行的宗教场所
感冒后总口干?医生告诉你真相
王菲重返公众视野:揭秘乐观养心秘籍
王菲春晚《传奇》:一首歌,一个时代
王菲春晚再登台:一首歌,一段情,一份感恩
从邓丽君到王菲:华语乐坛女神的传承之路
探访重庆古遗址,揭秘巴蜀文化的魅力
川渝美食大PK:谁才是你的菜?
脚的各个部位详细图解:从脚弓到脚底的全面解析
脚底按摩能治疗胃溃疡
云学堂AI教练:火葬场员工心理调适指南
佛教传入与中国古代火葬的演变
宿醉后的头疼,你真的了解吗?
蜂蜜水解酒?科学解读:效果有限,适量饮酒才是根本
支原体肺炎的“二线药物”——多西环素,该如何正确使用?
2025央视春晚:梁思成手稿亮相,非遗文化闪耀舞台
日本有種咖啡豆嗎?探秘鹿兒島德之島咖啡豆的種植與挑戰
日本本土咖啡馆巡礼——见证日本本土咖啡文化真正的魅力
蔡明:从"做企业的艺术家"到"做艺术的企业家"
“砺剑-2024”:武警特警学院毕业生成长记
明月山:嫦娥奔月传说的最美注脚
《热辣滚烫》:一部真实故事引发的全民热议
明月山:自然人文之美与指掌画艺术的完美融合
宜春明月山深度游全攻略:自驾+美景!
冬日探秘宜春明月山:360°全景沉浸式游攻略
银翘解毒片:中医治鼻窦炎的秘密武器