dov6891 2018-08-20 18:13
浏览 26

强制使用解析器并禁用回退

I want to achieve resolving a given domain by the DNS Server I provide.

The code below I've grabbed from https://play.golang.org/p/s2KtkFrQs7R The result is giving the correct results - but unfortunately even when I'm giving an IP like 123.123.123.123:53 as the resolver IP...

I guess there's a fallback - but I could not find (https://golang.org/pkg/net/) the switch to turn it off...

Thanks in advance for any hint...

Matthias

package main

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

func GoogleDNSDialer(ctx context.Context, network, address string) (net.Conn, error) {
    d := net.Dialer{}
    return d.DialContext(ctx, "udp", "123.123.123.123:53")
}

func main() {
    domain := "www.google.com"
    const timeout = 1000 * time.Millisecond
    ctx, cancel := context.WithTimeout(context.TODO(), timeout)
    defer cancel()
    // var r net.Resolver
    r := net.Resolver{
        PreferGo: true,
        Dial:     GoogleDNSDialer,
    }

    records, err := r.LookupHost(ctx, domain)

    if err != nil {
        log.Fatal(err)
    } else {
        fmt.Printf("Records %v 
", records[0])
    }

}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度
    • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
    • ¥15 ETLCloud 处理json多层级问题
    • ¥15 matlab中使用gurobi时报错
    • ¥15 这个主板怎么能扩出一两个sata口
    • ¥15 不是,这到底错哪儿了😭
    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么