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

Deg*_*ane 6 download go

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

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

kos*_*tix 7

为此,您应该研究描述协议Content-RangeRFC文档HTTP/1.1的第14.16部分 - 然后应用该知识来操作在执行客户端请求时发送的HTTP标头集 - 请参阅那里的文档和示例.

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

您应该以附加模式打开文件,然后使用类似的io.Copy()方法将数据从BodyHTTP响应成员流式传输到文件对象.

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