用于分段下载的Linux库

时间:2012-02-03 11:43:49

标签: linux download download-manager

我想开发一个支持分段下载的下载管理器。所以,我正在寻找一个支持相同的库。请提供有关Linux平台上可用的最佳库的建议。

1 个答案:

答案 0 :(得分:1)

任何支持自定义HTTP标头的库(例如libcurl)都可以使用。

你需要产生几个线程。在每个线程中,在请求标头中设置Range字段,以指定此线程需要下载的文件部分。

特别是libcurl,您可以使用CURLOPT_RANGE选项进行部分文件下载。

请参阅说明表格libcurldocumentation

  

<强> CURLOPT_RANGE

     

传递char *作为参数,该参数应包含您想要的指定范围。它应该是“X-Y”格式,其中可以省略X或Y. HTTP传输也支持多个间隔,用“X-Y,N-M”中的逗号分隔。使用这种多个间隔将导致HTTP服务器分段发送响应文档(使用标准MIME分离技术)。对于RTSP,范围的格式应遵循RFC 2326第12.29节。对于RTSP,不允许使用字节范围。相反,范围应以npt,utc或smpte格式给出。

     

将NULL传递给此选项以禁用范围。

     

范围适用于HTTP,FTP,FILE(自7.18.0起),RTSP(自7.20.0起)仅进行传输。