huangyushun 发表于 6 天前

发个自己写HTTP下载器C++版的!!!


为了测试自己基于iocp封装的socket库写的作品,

出于礼貌,声明下使用的三方库:
tls采用boringssl-0.20250212.0
解压缩http数据用到zlib-1.3和brotli-1.1.0
ui使用wxWidgets3.2.6_vc14x

软件界面:

新建这里:


使用步骤:
[下载地址]: 要先把链接复制到这里
然后点击[检测链接]按钮,
如果[文件长度]这里变成你要下载的文件大小就代表可以下载
如果不出现文件大小,就代表不支持下载这个链接
配置参数:
[连接数量]这个按照其他软件,你可以理解为多少条线程,
虽然实际不是,但你这么去理解用就行
[粒度]这个有意思,举个例子,
[常规情况]
1000MB的文件,10条连接每个就分到100MB,
如果9条下完了,还有一条连接还剩下90mb的 情况,
就只能他自己单线程下这90mb,那就后面等很久了
所以加了这个粒度,
[粒度方案]
每个粒度64kb,截图上10,就代表64kb*10=640kb一次请求
每个连接每次申请下载640kb,下载完成再过来继续申请,
最差的情况10条连接,9条完成,还有1条最多独自等待640kb数据,当然你可以设置更小
[推荐使用]
连接数大的时候,粒度设置小
粒度设置大的时候,连接数设置小
互斥使用,具体细节自己研究

最后就是附件下载->
解压密码:b





huangyushun 发表于 6 天前

批量下载

在根目录下新建hys.txt,
应该已经存在了,然后每行一个下载链接
点[批量]按钮会在文本显示文件大小的地方显示有多少个下载链接
剩下的就是设置连接数,然后开始下载
记住,这个适合批量小文件下载,大文件别来乱搞

好了,就补充这个

494525777 发表于 6 天前

已测试   下载片子好快爽歪歪。。。。。。。。。来自老司机得测评

联诚防伪 发表于 6 天前

:lol:lol:lol,把这些使用说明写到程序的帮助文档里嘛。。。不然时间久了,还得翻这个帖子来看使用方法,哈哈。。。。。。

caishikun12 发表于 6 天前

B 顺哥,好威武,下载速度还是可以的

QQ1750706198 发表于 6 天前

本帖最后由 QQ1750706198 于 2025-3-28 16:41 编辑

实测有效果,大文件断线会不会续传,就怕下完大文件是错的。不稳定在下载过程中几次速度为0,
页: [1]
查看完整版本: 发个自己写HTTP下载器C++版的!!!