📅  最后修改于: 2023-12-03 15:15:22.126000             🧑  作者: Mango
在Golang中,我们可以使用net/http包来进行HTTP请求,这包含了下载文件的功能。本文将介绍如何使用Golang下载并保存文件。
使用net/http包创建一个HTTP请求很简单。以下是一个使用GET请求下载文件的示例代码:
resp, err := http.Get("http://example.com/example.txt")
if err != nil {
// 处理错误
}
defer resp.Body.Close()
使用http.Response的Body字段可以访问响应体。我们可以使用ioutil包从响应体中读取并保存到文件中。
以下是示例代码:
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
url := "http://example.com/example.txt"
resp, err := http.Get(url)
if err != nil {
fmt.Println("Http get error:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Read error:", err)
return
}
err = ioutil.WriteFile("example.txt", body, os.ModePerm)
if err != nil {
fmt.Println("Write error:", err)
return
}
fmt.Println("Done")
}
如上代码,文件内容将保存到example.txt。
此处学习如何使用Golang下载并保存文件。代码示例完成了以下功能:
代码片段如下:
package main
import (
"fmt"
"io/ioutil"
"net/http"
"os"
)
func main() {
url := "http://example.com/example.txt"
resp, err := http.Get(url)
if err != nil {
fmt.Println("Http get error:", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Read error:", err)
return
}
err = ioutil.WriteFile("example.txt", body, os.ModePerm)
if err != nil {
fmt.Println("Write error:", err)
return
}
fmt.Println("Done")
}