Go 语言请求DNS解析结果

复制代码
package ksyunwarning

import (
    "context"
    "fmt"
    "net"
    "time"
)

// LookupDomainNameIp 使用net包做DNS解析请求
func LookupDomainNameIp(domainString, nameServer string) (dst []string) {
    r := &net.Resolver{
        PreferGo: true,
        Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
            d := net.Dialer{
                Timeout: 3 * time.Second,
            }
            return d.DialContext(ctx, "udp", fmt.Sprintf("%s:53", nameServer))
        },
    }
    var err error
    dst, err = r.LookupHost(context.Background(), domainString)
    if err != nil {
        s.fileLogger.Error("LookupDomainNameIp LookupHost Err : %v", err)
    }
    return
}
复制代码

 参考:http://www.linvon.cn/posts/golang-%E6%8C%87%E5%AE%9A-dns-%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%81%9A%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90/

posted on   zhangmingda  阅读(87)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-09-05 curl常用选项
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示