我想开发一个支持分段下载的下载管理器。所以,我正在寻找一个支持相同的库。请提供有关 Linux 平台上可用的最佳库的建议,以达到此目的。
问问题
273 次
1 回答
1
任何支持自定义 HTTP 标头的库,例如libcurl都可以使用。
您需要生成多个线程。在每个线程中,设置Range
请求标头中的字段以指定该线程需要下载文件的哪个部分。
特别是对于libcurl,您可以使用该CURLOPT_RANGE
选项进行部分文件下载。
请参阅libcurl文档的描述形式。
CURLOPT_RANGE
传递一个 char * 作为参数,它应该包含你想要的指定范围。它应该采用“XY”格式,其中 X 或 Y 可以省略。HTTP 传输还支持多个间隔,用逗号分隔,如“XY,NM”。使用这种多重间隔将导致 HTTP 服务器分段发送响应文档(使用标准 MIME 分离技术)。对于 RTSP,范围的格式应遵循 RFC 2326 第 12.29 节。对于 RTSP,不允许使用字节范围。相反,范围应该以 npt、utc 或 smpte 格式给出。
将 NULL 传递给此选项以禁用范围的使用。
范围仅适用于 HTTP、FTP、FILE(自 7.18.0 起)和 RTSP(自 7.20.0 起)传输。
于 2012-02-03T13:42:16.807 回答