如何下载具有简历支持的文件?

时间:2014-01-18 08:24:29

标签: go download

使用golang作为首选的编程工具。

我想写的是一个程序,它使用http标头中的范围请求来下载具有恢复支持的大文件 与 aria2c 类似的东西。

1 个答案:

答案 0 :(得分:5)

为此,您应该研究RFC document describing the HTTP/1.1 protocol的第14.16部分 - Content-Range - 然后应用该知识来操作执行客户端请求时发送的HTTP标头集 - 请参阅{{ 3}}和那里的例子。

要计算要请求的范围,要继续下载,您应该获取当前文件的大小。这可以在Stat()函数返回的结果中找到,该函数可以在打开的文件上调用 - *os.File调用返回os.Open()

您应该以附加模式打开文件,然后使用io.Copy()之类的内容将Body HTTP响应成员中的数据流式传输到文件对象。

自己研究如何从Go中的HTTP响应中读取数据 - 它们在互联网上很丰富。