小编Vik*_*ank的帖子

在go中按域名查找IP地址

我使用下面的 API 代码来查找给定域的 IP 地址:

func IPFinder(c *gin.Context) {
    var domain models.Domain
    c.BindJSON(&domain)
    addr, err := net.LookupIP(domain.DomainName)
    if err != nil {
        c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
    } else {
        c.JSON(http.StatusOK, gin.H{"ip_address": addr})
    }
    return
}
Run Code Online (Sandbox Code Playgroud)

对于以下请求:

{
    "domain_name": "google.com"
}
Run Code Online (Sandbox Code Playgroud)

得到的响应为:

{
    "ip_address": [
        "2404:6800:4002:80a::200e",
        "172.217.167.46"
    ]
}
Run Code Online (Sandbox Code Playgroud)

此处,此 LookupIP 方法给出包含该域的 ipv4 和 ipv6 地址的切片。GoLang 中是否有其他任何其他第 3 方库,使用它我可以获得仅包含 IP 地址的输出,如下所示:

{
    "ip_address": "172.217.167.46"
}
Run Code Online (Sandbox Code Playgroud)

ip-address go

6
推荐指数
1
解决办法
7133
查看次数

标签 统计

go ×1

ip-address ×1