如何在 Qt 中并行下载大文件。从而减少文件下载时间。
问问题
4452 次
1 回答
13
假设您使用的是 QNetwork 并且下载是 HTTP GET,您将需要执行以下操作:
- 使用 HEAD 请求获取文件大小 (
Content-Length
) 并检查服务器是否支持 Range 请求 (Accept-Ranges
) - 在 GET 请求上启用流水线
Range
根据内容的大小设置标题
通过设置HttpPipeliningAllowedAttribute
属性对您的请求启用 HTTP 管道:
QNetworkRequest req(url);
req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
设置范围标题:
req.setRawHeader("Range", "bytes=0-499");
于 2012-04-18T11:36:20.953 回答