Golang 获取当前外网IP

韩昊杰
2023-09-20 / 0 评论 / 259 阅读 / 正在检测是否收录...

首先在外网需要设置nginx配置

  location /get_ip {            
    default_type text/plain;            
    return 200 "$remote_addr\n";        
}

golang代码

package main
 
import (
    "fmt"
    "io/ioutil"
    "net/http"
)
 
func main() {
 
    responseClient, errClient := http.Get("http://ip.dhcp.cn/?ip") // 获取外网 IP
    if errClient != nil {
        fmt.Printf("获取外网 IP 失败,请检查网络\n")
        panic(errClient)
    }
    // 程序在使用完 response 后必须关闭 response 的主体。
    defer responseClient.Body.Close()
 
    body, _ := ioutil.ReadAll(responseClient.Body)
    clientIP := fmt.Sprintf("%s", string(body))
    print(clientIP)
 
}
0

评论 (0)

取消