嵌入式 wget初学教程

时间:2022-06-21 14:44:29
Wget下载确实速度会快很多,尤其是结合迅雷的离线下载功能,所以最近一直作为一个新手在研究linux下的wget下载,但是网上所谓的教程太零散或者点到为止,搞得我们这些新手看不懂,在总结了论坛内外的几位前辈的使用教程并经本人试验,按照我的步骤应该可以实现wget下载单个文件,批量下载我还没试,批量是可以实现的。等我研究以后再贴出来。

第一步:注册

要在迅雷上申请离线会员账号,听说QQ离线下载也行,我没试过(需要花点钱)
迅雷离线下载:
http://lixian.vip.xunlei.com/

第二步:安装wget可以参考这个帖子《下载大块头 离线+wget是王道,TR、电驴是浮云》 http://www.hdpfans.com/thread-20109-1-4.html
从帖子上把wget下载下来和下面的cookie文件一起上传,我的帖子也有 嵌入式 wget初学教程wget.rar(138.98 KB, 下载次数: 64) 2012-1-1 23:00 上传点击文件名下载附件
wget
下载积分: 金钱 -2




第三步:制作cookies.txt
(具体可以参看
http://www.douban.com/note/149021873/ )或者看上面说的那个帖子也有介绍
1、用浏览器登陆迅雷离线纯网页版一次以后浏览器会把登录信息写入cookies.txt,下一步我们要把它导出。导出主要是因为让wget可以加载cookies.txt,从而实现迅雷离线下载。据研究,迅雷离线下载的验证就是通过这个cookies.txt文件来进行的。
2、用IE的导入导出功能,勾选cookies,导出后把gdriveid这一行取出来保存到cookies.txt就可以了。网上一般介绍是用firefox插件叫Export Cookies专门来导出wget用的cookie,其实IE也可以。
3、使用IE导出cookies.txt(注意是cookies.txt不是cookie.txt,多一个S。反正我试过cookie.txt在输入wget命令时候老是无法解析,老是提示错误)
4、cookies.txt导出来以后,通过查找功能找到gdriveid这一行,WGET下载时候就是通过这一行实现验证,确定有这一行以后就可以了。就是类似于下面的这一行:
.vip.xunlei.com        TRUE        /        FALSE        1335429303        gdriveid        9DAFA3FD610060265ACF52C8D151B75E
5、上传cookies.txt和上面步骤中下载的wget到/tmp/hdd/volumes/HDD1(这个是
高清播放机 的硬盘目录,主要是为了方便所需要下载的文件直接就可以下在硬盘中,放在tmp目录也可以,我是放在/tmp/hdd/volumes/HDD1)

第四步:修改权限
然后用putty或者telnet播放机输入以下命令:
cd /tmp/hdd/volumes/HDD1  #打开刚才上传gwet以后,所在的文件夹
chmod +x /tmp/hdd/volumes/HDD1/wget   #修改wget运行的权限

第五步:开始下载
命令如下:
wget -b -c --load-cookies /tmp/hdd/volumes/HDD1/cookies.txt -O "文件名" "下载地址" &

如果你不需要看日志,或者后面下载的时候不需要知道进度就去掉-b命令
wget -c --load-cookies /tmp/hdd/volumes/HDD1/cookies.txt -O "文件名" "下载地址" &


说明:
1、wget下载命令格式,注意load前面是两个小短横,命令参数之间要有空格,其中文件名和下载地址根据自己的需要自己修改,其他可以直接复制。
2、下面命令中红色字体部分是指定下载的目录,否则默认会把文件下载到和WGET所在目录。
实例如下:
wget -b -c --load-cookies /tmp/hdd/volumes/HDD1/cookies.txt -O "/tmp/hdd/volumes/HDD1/mybt/2012来了.rmvb" "http://gdl.lixian.vip.xunlei.com/download?fid=F603+56mYZ8v0m8VlKQ3cKJxbFEmImcrAAAAAALIH7LD+/b0mzD5pDdbM6RvvYRl&mid=666&threshold=150&tid=0F1841812A8D22787F3DE4832DF3176C&srcid=4&verno=1&g=02C81FB2C3FBF6F49B30F9A4375B33A46FBD8465&scn=c4&i=02C81FB2C3FBF6F49B30F9A4375B33A46FBD8465&t=2&ui=54660904&ti=48972184583&s=728179238&m=0&n=013A4693282E6B616E5707CA3C6F6D5D325100D69FB4C1CB4825881E8CEFD6D0D7B71F963276620000" &
图片如下:
嵌入式 wget初学教程 2012-1-2 17:14 上传下载附件(113.17 KB)
下载时的情况

3、以上WGET命令格式中:(-b是写入下载日志,并后台运行,方便在关了putty窗口以后查看下载进度,他会把运行的日志写入wget-log文件中(这个文件所在的位置和WGET所在的文件一样,在cd /tmp/hdd/volumes/HDD1);-c是实现断点续传,防止在意外中断以后还可以继续下载;-o命令是指定你要将所下载的文件保存到什么地方)
2、双引号里面的“文件名”根据自己需要下载的文件进行命名,我一般用英文名或全拼,中文没试过;双引号里面的“下载地址”在迅雷离线下载中获取
3、在输入以上wget下载命令以后,因为带有-b的参数,是后台运行,而且会自动把运行的日志写入:wget-log中,是后台运行所以你看不到运行的状况,不知道是否已经开始下载。如果你不加这个参数也可下载而且可以看到当前下载的情况,但是不会自动写日志,后面你关掉窗口之后很难看到进度。所以你看不到运行状态,可以通过下面的命令来查看进度。注意这个日志文件wget-log。有时候可能是wget-log.1或者wget-log.2等。要看你输入wget命令以后日志的写入文件名。并在以下命令中修改,如果是wget-log.1则改为:tail -f wget-log.1。查看进度的命令为:

~ # cd tmp/hdd/volumes/HDD1/mybt    #打开日志文件所在的目录(一般和你下载文件的目录在一起)
/tmp/hdd/volumes/HDD1/mybt # tail -f wget-log.8   #打开日志文件查看进度
图片如下:
嵌入式 wget初学教程 2012-1-2 16:58 上传下载附件(54.14 KB)
查看进程


4、如果要中断或者暂停下载,则:
暂停用Ctrl+z,但是只会停止当前进程,进程会转入后台运行。可以通过ps可以查进程号。找到wget进程。通过“kill -STOP 进程号”,来停止wget下载,如果恢复用“fg 进程号”,另外,wget刚开始执行后,有时会提示不成功,多执行几次就可以了。如果许多次后仍不行,那就是其他原因了,可能是下载地址不对,我经常遇到代号为400的错误,http请求没有反映,导致无法下载。