gpt4 book ai didi

golang 下载文件并遵循重定向

转载 作者:数据小太阳 更新时间:2023-10-29 03:32:58 26 4
gpt4 key购买 nike

我想从重定向 url 下载文件,并以可变文件名返回文件名,我的实际代码是:

package main

import (
"os"
"net/http"
"io"
)

func downloadFile(filepath string, url string) (err error) {

// Create the file
out, err := os.Create(filepath)
if err != nil {
return err
}
defer out.Close()

// Get the data
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()

// Writer the body to file
_, err = io.Copy(out, resp.Body)
if err != nil {
return err
}

return nil
}

func main() {

var filename string = "urls.txt"
var url1 string = "http://94.177.247.162:5000/random"

downloadFile(filename, url1)

}

我如何更改我的代码以返回以变量文件名下载的文件的真实名称。

示例输出:

urlix.txt

最佳答案

默认情况下应遵循重定向。您可以使用

获取访问的最终 URL 以获取下载

finalURL := resp.Request.URL.String()

url 的最后一部分是你在 Remote 上的文件名,所以像这样应该可以工作


部分:= strings.Split(finalURL,“/”)
文件名 := 部分 [len(部分)-1]

关于golang 下载文件并遵循重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46054094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com