使用代理,并断点续传,无限重试。将目标url列表放入一个文件,然后将该文件作为下载
用法:./downfilelist.sh urlfilename
#!/bin/bash
# downfilelist.sh
lineoffile=`wc -l $1`
#echo $lineoffile
lof=`awk 'END{print NR}' $1` #获得文件中url的个数
echo Total: $lof
for ((i=1; i<=$lof; i++)) #下载每一个url
do
echo $i
urlchar=`sed -n "${i}p" $1` #获得每一个url
echo ==$i==[$urlchar]
ls notexsitfile
while [ $? -ne 0 ] # 无限尝试直至当前url下载完成,再下载下一个url
do
echo "new try to download........"
wget -c -e "https_proxy=127.0.0.1:8080" $urlchar #使用代理,并断点续传
done
done
wget -t 0 还可以使wget 无限重试,但是遇到连接中断和404等错误时wget也可能被中断。所以用while判断返回值进行重试会靠谱点。
可用此方法下载android sdk
[neusoft.edu.cn android repository]