Go での HTTP Get の帯域幅の制限
Go の初心者にとって、http.Get( )。サードパーティのパッケージは便利なラッパーを提供しますが、内部の仕組みを理解することも同様に重要です。
http.Get() の帯域幅を制限するには、次のアプローチを使用できます:
package main import ( "io" "net/http" "os" "time" ) var datachunk int64 = 500 //Bytes var timelapse time.Duration = 1 //per seconds func main() { responce, _ := http.Get("http://google.com") for range time.Tick(timelapse * time.Second) { _, err := io.CopyN(os.Stdout, responce.Body, datachunk) if err != nil { break } } }
このコードは、指定された時間間隔 (タイムラプス) 内で指定されたバイト数 (データチャンク) を読み取るループを繰り返します。一定期間にわたって小さなデータの塊を継続的に読み取ることで、帯域幅の使用量を効果的にレート制限できます。
このアプローチにより、複雑なサードパーティの依存関係が回避され、帯域幅の制限をきめ細かく制御できます。
以上がGo の HTTP Get() で帯域幅の使用を制限する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。