在“net/http”包中,我可以通过以下方式缓存DNS查找:
client := &http.Client{
Transport: &http.Transport{
Dial: (&nett.Dialer{
Resolver: &nett.CacheResolver{TTL: 5 * time.Minute},
IPFilter: nett.DualStack,
}).Dial,
},
}
然后使用客户端检索网站。如何为网络软件包缓存DNS查找?例如,反向DNS请求:
net.LookupAddr(ip)
因为它不使用变量,所以我对如何设置它以及如何知道是否使用缓存实例感到困惑。
最佳答案
nett程序包似乎只有一个“解决”方法,而不是官方net程序包具有的LookupAddr,LookupIP等。因此,反向查询似乎不可用。这是从名称中正常查找地址的方法
package main
import (
"github.com/abursavich/nett"
"time"
)
func main() {
r := nett.CacheResolver{TTL: 5 * time.Minute}
a, _ := r.Resolve("muppet.com")
for _, i := range a {
print(i.String())
}
}
关于go - 如何为网络程序包设置DNS缓存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54359259/