第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang 緩存 DNS 嗎?

golang 緩存 DNS 嗎?

Go
炎炎設(shè)計(jì) 2022-10-24 08:55:26
我正在運(yùn)行一段 golang 代碼來解析 url。這個 url 應(yīng)該在 50% 的請求上返回一個 ip,在其他 50% 的請求上返回另一個 ip。這在我執(zhí)行host命令時有效,但在我使用 Go 解析 DNS 時無效。在我的研究中,我看到的每個答案都說 Golang 不緩存 DNS,但行為似乎有所不同。誰能澄清一下?這是我的代碼,我正在使用 for 循環(huán)運(yùn)行它 100 次:for value in {1..100};do go run main.go;done    "fmt"    "net")func main() {    iprecords, _ := net.LookupIP("google.com")    for _, ip := range iprecords {        fmt.Println(ip)    }}
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個贊

當(dāng)在 上使用 CGO_ENABLED=1 (go build默認(rèn)值)時OS X,根據(jù)net package docs,Go將使用:

... 基于 cgo 的解析器 ... 在不允許程序發(fā)出直接 DNS 請求的系統(tǒng)上 (OS X)

因此,如果您正在觀察 DNS 緩存MacOS- 那么這發(fā)生在操作系統(tǒng)級別。

您可以嘗試使用 的Go本機(jī) DNS 解析器,看看這是否是一個可行的替代方案。

您可以通過以下任一方式完成此操作:

CGO_ENABLED=0 go build  # disabling CGO

或更巧妙地使用運(yùn)行時環(huán)境變量:

export GODEBUG=netdns=go    # force pure Go resolver

這有其局限性,例如 VPN 拆分隧道 DNS 路由無法使用Go的本機(jī)解析器工作。YMMV。


查看完整回答
反對 回復(fù) 2022-10-24
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號