我有问题。
我需要使用代理通过8.8.8.8获取dns记录
但是我的代码有一些错误。
在字段值中不能将&dialer(* proxy.Dialer类型)用作* net.Dialer
我的代码是:
package main
import (
"log"
"github.com/miekg/dns"
"golang.org/x/net/proxy"
)
func checkErr(err error) {
if err != nil {
log.Fatal(err)
}
}
func main() {
dialer, err := proxy.SOCKS5("tcp", "12.34.56.78:8085", nil, proxy.Direct)
checkErr(err)
dnsServer := "8.8.8.8:53"
c := dns.Client{
Net: "tcp",
Dialer: &dialer,
}
m := dns.Msg{}
m.SetQuestion("google.com.", dns.TypeA)
a, _, err := c.Exchange(&m, dnsServer)
checkErr(err)
for _, ans := range a.Answer {
log.Println(ans.(*dns.A).A)
}
}
感谢任何想法。