我是golang的初学者。
有什么方法可以限制golang的http.Get()带宽使用率?我发现了这一点:http : //godoc.org/code.google.com/p/mxk/go1/flowcontrol,但是我不确定如何将两者组合在一起。我将如何访问http Reader?
github上有软件包的更新版本
您可以通过包装 io.Reader
io.Reader
这是一个完整的示例,它将完整地显示Google veeeery的主页。
这种包装接口以实现新功能非常好的Go风格,您在进入Go的过程中会看到很多。
package main import ( "io" "log" "net/http" "os" "github.com/mxk/go-flowrate/flowrate" ) func main() { resp, err := http.Get("http://google.com") if err != nil { log.Fatalf("Get failed: %v", err) } defer resp.Body.Close() // Limit to 10 bytes per second wrappedIn := flowrate.NewReader(resp.Body, 10) // Copy to stdout _, err = io.Copy(os.Stdout, wrappedIn) if err != nil { log.Fatalf("Copy failed: %v", err) } }