我正在寫一個客戶。什么動作應該被超時保護?獲取請求resp, err := http.Get(fileURL)或讀取回應正文n, err = resp.Body.Read(chunk)。哪些操作會受到網路的影響?
uj5u.com熱心網友回復:
最簡單的形式將涵蓋表盤和讀取正文的超時。(如果一個連接沒有被重用)
c := &http.Client{
Timeout: 15 * time.Second,
}
resp, err := c.Get("https://foo.bar/")
這些都是我知道的 http 客戶端超時。
c := &http.Client{
Transport: &http.Transport{
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
ResponseHeaderTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
}
}
resp, err := c.Get("https://foo.bar/")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/393700.html
下一篇:查找字串陣列中最常見的元素GO
