Comment limiter HTTP pour obtenir la bande passante dans Go
En tant que novice en Go, vous pouvez rencontrer des scénarios dans lesquels vous devez contrôler la bande passante consommée par vos requêtes http.Get(). Une solution populaire consiste à utiliser un package tiers tel que mxk/go1/flowcontrol. Cependant, pour une compréhension plus approfondie des mécanismes sous-jacents, cet article propose une approche personnalisée simple.
Pour limiter la bande passante, nous devons restreindre la vitesse à laquelle les données sont lues à partir du corps de la réponse HTTP. Dans l'extrait de code fourni :
<code class="go">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 } } }</code>
Nous définissons deux variables :
La fonction principale effectue les étapes suivantes :
Cette approche simple offre un moyen flexible de limiter la bande passante de vos requêtes HTTP GET. . Vous pouvez ajuster le datachunk et le timelapse selon vos besoins pour obtenir la restriction de bande passante souhaitée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!