登录
首页 >  Golang >  Go问答

限制http get的带宽

来源:Golang技术栈

时间:2023-03-25 17:56:19 131浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《限制http get的带宽》,这篇文章主要会讲到golang等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我是golang的初学者。

有没有办法限制 golang 的 http.Get() 带宽使用?我发现了这个: http: //godoc.org/code.google.com/p/mxk/go1/flowcontrol,但我不知道如何将两者拼凑在一起。如何访问 http 阅读器?

正确答案

[github上有包](http://godoc.org/github.com/mxk/go- flowrate/flowrate#NewReader)的更新版本[](http://godoc.org/github.com/mxk/go- flowrate/flowrate#NewReader)

你通过包装一个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)
    }
}

理论要掌握,实操不能落!以上关于《限制http get的带宽》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>