赞
踩
在Go语言中,获取当前的外网(公网)IP地址可以通过多种方法实现。其中一种常见的方法是通过访问外部服务来获取。这些服务可以返回访问者的公网IP地址,例如 httpbin.org/ip
或 ipify.org
。下面是一个简单的例子,展示了如何使用Go标准库中的net/http
包和io/ioutil
包来实现这一功能。
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)) }
http.Get("https://api.ipify.org")
发送一个HTTP GET请求到 api.ipify.org
,这个服务会返回访问者的公网IP地址。ioutil.ReadAll(resp.Body)
读取响应体的内容,该内容即为公网IP地址。http.Get
和ioutil.ReadAll
可能返回的错误进行适当处理。通过这种方式,你可以轻松地在Go程序中获取当前的外网IP地址。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。