用于分段下载的Linux库

问题描述:

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

任何支持自定义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)仅传输。

+1

我相信请求标头字段是'Range'而不是'Content-Range' [ref](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2)和[另见](http://*.com/questions/716680/difference-between-content-range-and-range-headers) – fajran 2012-02-03 13:51:53

+0

@fajran谢谢,我纠正了答案。 – 2012-02-03 14:00:18

+0

thanx家伙。非常感激。 – 2012-02-03 18:51:05