一尘不染

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

go

我正在用 Go 制作一个 URL 获取器,并有一个要获取的 URL 列表。我向http.Get()每个 URL发送请求并获得它们的响应。

resp,fetch_err := http.Get(url)

如何为每个 Get 请求设置自定义超时?(默认时间很长,这让我的 fetcher 非常慢。)我希望我的 fetcher 有大约 40-45 秒的超时,之后它应该返回“请求超时”并转到下一个 URL。

我怎样才能做到这一点?


阅读 300

收藏
2021-11-14

共1个答案

一尘不染

显然在 Go 1.3 http.Client有 Timeout 字段

client := http.Client{
    Timeout: 5 * time.Second,
}
client.Get(url)

这对我来说就成功了。

2021-11-14