尝试从以下URL下载zip文件:
https://www.3gpp.org/ftp//Specs/archive/29_series/29.512/29.512-f20.zip
我尝试在Go中使用http.Get
下载
resp, err := http.Get(specUrl)
if err != nil {
return err
}
在下载zip文件时需要帮助。
答案 0 :(得分:1)
http.get可以允许下载任何文件。但是问题的链接指向未找到的文件。没有引发错误,但是状态代码不是200(确定)。在继续并创建从响应获取的文件之前,必须检查响应的状态码。
func main() {
specUrl := "https://www.3gpp.org/ftp//Specs/archive/29_series/29.512/29.512-f20.zip"
resp, err := http.Get(specUrl)
if err != nil {
fmt.Printf("err: %s", err)
}
defer resp.Body.Close()
fmt.Println("status", resp.Status)
if resp.StatusCode != 200 {
return
}
// Create the file
out, err := os.Create("test.zip")
if err != nil {
fmt.Printf("err: %s", err)
}
defer out.Close()
// Write the body to file
_, err = io.Copy(out, resp.Body)
fmt.Printf("err: %s", err)
}