登录
首页 >  Golang >  Go问答

下载文件的片段

来源:stackoverflow

时间:2024-02-24 14:48:17 437浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《下载文件的片段》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我想使用 go 从互联网下载类似文本文件的一部分。看来我想下载的网站不尊重curl --max-filesize--range。此外,我读到 http MaxBytesReader 仍然下载整个文件,但只存储其中的一部分。

有没有办法只获取文件的第一个 kb,然后关闭连接?相当于在 chrome 上加载大页面时按“x”。 我想我可以运行一个将网站读取到文件的线程,然后在一两毫秒后终止该线程。这可能吗?


解决方案


一种简单的方法来做到这一点,无需太多错误处理(可能需要添加):

import (
    "fmt"
    "io"
    "io/ioutil"
    "net/http"
)

const readLimit = 1024 // bytes

func main() {
    resp, err := http.Get("http://example.com/")
    if err != nil {
       // handle error
    }

    fixedReader := io.LimitedReader{R: resp.Body, N: readLimit}

    data, _ := ioutil.ReadAll(fixedReader)
    resp.Body.Close()
    fmt.Println(string(data))
}

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

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