回答

收藏

如何在 Golang 中为 http.Get() 请求设置超时?

技术问答 技术问答 635 人阅读 | 0 人回复 | 2023-09-12

我正在用 Go 做一个 URL 获取器,还有一个要获得的 URL 列表http.Get()每个 URL发送请求并获得其响应。
7 C! G  d0 l) `9 ^
    resp,fetch_err := http.Get(url)
    : V4 K# d: ?8 W$ ~5 N6 c+ y8 @
如何做每一个 Get 请求设置自定义超时?(默认时间很长,这让我的 fetcher 很慢。)我希望我的  fetcher 有大约 40-45 秒超时后,应返回请求超时并转移到下一个 URL。/ ^" h; M' b& K  F. b
我怎样才能做到这一点?
+ I3 \9 K/ B* O$ k                                                                ! O& m- U! F1 `# U! Q" a
    解决方案:                                                                8 g  J/ o! F) F8 S2 }
                                                                显然在 Go 1.3 http.Client有 Timeout 字段
* O. s8 ~! x) Q$ _/ @6 M
    client := http.Client{    Timeout: 5 * time.Second,}client.Get(url)$ e1 j$ ]% w' _) F6 ~% L
这对我来说是成功的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则