I have some problem.
I need to use proxy for get dns records via 8.8.8.8
But I had some error in my code.
Cannot use &dialer (type *proxy.Dialer) as type *net.Dialer in field value
My code is:
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)
}
}
Thanks for any ideas.