免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 105598 | 回复: 276
打印 上一主题 下一主题

源码阅读第一期:axel和wget [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-26 09:49 |只看该作者 |倒序浏览
本帖最后由 duanjigang 于 2011-11-04 14:19 编辑

关于活动的说明和规则见帖子:
http://bbs.chinaunix.net/thread-3600088-1-1.html


关于这三个网络工具,有些朋友可能都比较熟悉了,第一期阅读活动主要针对这三个开源工具。

阅读代码以我们附件上传的版本为准(附件中的也是从官网下载的^_^).

另外提供axel,wget和curl的相关网站地址:

axel:
http://axel.sourcearchive.com/

curl:
http://curl.haxx.se/

wget:
http://www.gnu.org/s/wget/


欢迎大家积极回复自己的分析,活动结束时会根据情况对帖子做整理!
期待您精彩的分析
axel_2.4.orig.tar.gz (49.52 KB, 下载次数: 784)
curl-7.22.0.tar.gz (2.82 MB, 下载次数: 2077)
wget-1.13.tar.gz (2.63 MB, 下载次数: 3769)

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2011-09-26 09:57 |只看该作者
好活动,支持下.

论坛徽章:
0
3 [报告]
发表于 2011-09-26 10:03 |只看该作者
好活动,跟着版主开始学习了

论坛徽章:
0
4 [报告]
发表于 2011-09-26 10:05 |只看该作者
顶兰兰

论坛徽章:
0
5 [报告]
发表于 2011-09-26 10:53 |只看该作者
顶顶,坚持学习

论坛徽章:
0
6 [报告]
发表于 2011-09-26 11:50 |只看该作者
本帖最后由 duanjigang 于 2011-09-26 11:51 编辑

先发第一篇,呵呵,从简单的axel开始

首先看下axel的用法介绍:
  1. usr/local/axel/bin/axel
  2. Usage: axel [options] url1 [url2] [url...]

  3. --max-speed=x                -s x        Specify maximum speed (bytes per second)
  4. --num-connections=x        -n x        Specify maximum number of connections
  5. --output=f                -o f        Specify local output file
  6. --search[=x]                -S [x]        Search for mirrors and download from x servers
  7. --header=x                -H x        Add header string
  8. --user-agent=x                -U x        Set user agent
  9. --no-proxy                -N        Just don't use any proxy server
  10. --quiet                        -q        Leave stdout alone
  11. --verbose                -v        More status information
  12. --alternate                -a        Alternate progress indicator
  13. --help                        -h        This information
  14. --version                -V        Version information
复制代码
可以看到axel需要至少一个URL地址作为参数来提供下载地址,比如最简单的一个下载mysql-server的例子:

  1. usr/local/axel/bin/axel  http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-5.5.16-1.linux2.6.x86_64.tar
复制代码
回车,axel便会开始下载

http://ftp.iij.ad.jp/pub/db/mysq ... linux2.6.x86_64.tar

这个文件.

看看其它参数的意思:

-s 限制下载最大速度 bytes/秒
-n 设置下载连接数,比如 -n 10 最大开启10个下载连接(这里是连接数,不是线程数)
-o 下载后,在本地的存储文件名称
-S 查找该文件的镜像服务器(关于如何查找,后面会谈到) 如果输入x的话,会从前x个镜像服务器去下载,排名按照下载速度从大到小取前top x个.
-H 增加头信息,自持多个header信息, 比如 -H header1 -H header2 ..等
-U 设置用户代理,比如系统默认的代理信息 -U Axel 2.4 (Linux)
-N 不使用任何http代理
-q 仅仅保留标准输出
-v 输出更多的状态信息
-a 输出交替的进度条
-h 打印这个帮助信息
-V 打印版本信息

关于命令行参数的解析,在text.c的main函数中(大概92行左右)中能看到.

论坛徽章:
0
7 [报告]
发表于 2011-09-26 12:18 |只看该作者
版主的精神永垂不朽!

论坛徽章:
0
8 [报告]
发表于 2011-09-26 13:21 |只看该作者
版主的精神永垂不朽!
thatday 发表于 2011-09-26 12:18



   

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
9 [报告]
发表于 2011-09-26 13:44 |只看该作者
版主的精神永垂不朽!
thatday 发表于 2011-09-26 12:18



    哥们要用实际行动支持一下啊,呵呵

论坛徽章:
0
10 [报告]
发表于 2011-09-26 15:49 |只看该作者
好好学习,天天向上!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP