go http 下载文件

Posted scott_h

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go http 下载文件相关的知识,希望对你有一定的参考价值。


视频  http下载代码 dn.go

总体感觉特别简单,网上看了下 net/http ,io这2个库的使用, 几分钟就写完了,感觉cpp 在做工具这块 开发效率的确差太多(没有轮子的话)。

 

再放一个 go example 网站,https://gobyexample.com/

 

 

 

package main  
      
    import (  
        "fmt"  
        "io"  
        "net/http"  
        "os"  
        "strconv"  
    )  
/*
    var (  
        //url = "http://flv5.bn.netease.com/live163/store/208588/serverpush_18783_1521024752481_208588_0-1.ts"
        url  string = "http://flv5.bn.netease.com/live163/store/208588/serverpush_18783_1521024752481_208588_0-"
        url_suffix string = ".ts"
    )  
*/      
    func main() {
        fmt.Println("download begin.....")

        url := "http://flv5.bn.netease.com/live163/store/208588/serverpush_18783_1521024752481_208588_0-"
        url_suffix := ".ts"

        for i := 180; i <= 180; i++ {
            
            str_index := strconv.Itoa(i)        // 通过Itoa方法转换  
            //str2 := fmt.Sprintf("%d", i)      // 通过Sprintf方法转换  
            //fmt.Println(str_index)   // 打印str1  
    
            strFinal := url+str_index+ url_suffix

            res, err := http.Get(strFinal)  
            if err != nil {  
                panic(err)  
            }  
            f, err := os.Create(str_index+url_suffix)  
            if err != nil {  
                panic(err)  
            }  
            fileSize,writeErr := io.Copy(f, res.Body)

            fmt.Println(strFinal + " download done,", "file size(byte)=", fileSize)
            if writeErr != nil {  
                fmt.Println(strFinal + " download failed ",  "errorInfo=", writeErr.Error())
                panic(err)  
            }  
        }

        
        fmt.Println("download finish.")

    }  

 

以上是关于go http 下载文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Go 有效地下载大文件?

Android部分下载http

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段

在 Go 中使用 HTTP 与使用 TCP 套接字将文件下载/上传到服务器有啥优势? [关闭]

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段