回答

收藏

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

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

我正在用 Go 做一个 URL 获取器,还有一个要获得的 URL 列表http.Get()每个 URL发送请求并获得其响应。
7 b" M  t: k: r0 e8 M
    resp,fetch_err := http.Get(url)( ?. C2 z, v* _0 ~& z" c  d
如何做每一个 Get 请求设置自定义超时?(默认时间很长,这让我的 fetcher 很慢。)我希望我的  fetcher 有大约 40-45 秒超时后,应返回请求超时并转移到下一个 URL。
* q7 g' v/ Q5 l7 b( q& i" j9 Q' b我怎样才能做到这一点?
/ v2 j! l% h9 {* i. J6 B) o                                                                . p3 l' [; i$ n# N3 N
    解决方案:                                                               
, B3 W$ g( x0 M) z' z5 R2 D                                                                显然在 Go 1.3 http.Client有 Timeout 字段$ h0 \9 V; \4 e* A/ ?: B5 i4 v
    client := http.Client{    Timeout: 5 * time.Second,}client.Get(url)
    * N0 X* N' K2 ?7 M: w
这对我来说是成功的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则