如何在 Golang 中为 http.Get() 请求设置超时?
技术问答
680 人阅读
|
0 人回复
|
2023-09-12
|
我正在用 Go 做一个 URL 获取器,还有一个要获得的 URL 列表http.Get()每个 URL发送请求并获得其响应。
7 b" M t: k: r0 e8 Mresp,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 这对我来说是成功的。 |
|
|
|
|
|