1. ホーム
  2. http

[解決済み] Golangでhttp.Get()リクエストのタイムアウトを設定する方法は?

2022-05-09 18:37:46

質問

GoでURLフェッチャーを作っていて、フェッチするURLのリストを持っています。次のように送信します。 http.Get() をそれぞれのURLにリクエストし、そのレスポンスを取得します。

resp,fetch_err := http.Get(url)

各Getリクエストにカスタムタイムアウトを設定するにはどうすればよいですか?(デフォルトの時間は非常に長く、フェッチャーが非常に遅くなります。) フェッチャーに約40~45秒のタイムアウトを設定し、その後 "request timed out" を返して次のURLに進むようにしたいのです。

どうすれば実現できますか?

どのように解決するのですか?

どうやらGo 1.3では http.クライアント にはタイムアウトフィールドがあります。

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

これで、私の場合はうまくいきました。