亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

支持斷點下載的VBS代碼

2020-07-26 11:48:28
字體:
來源:轉載
供稿:網友
之前我就介紹過VBScript語言的強大。今天再給出一個支持斷點下載的VBS代碼。
并附上VBS代碼的解析,不懂的朋友可以配合微軟的SCRIPT56.CHM文檔自學。很簡單,
VBS的好處就是代碼易于理解。基本上每行代碼執行功能都用英文表示出來了。
這個代碼也是對我以前介紹的VBS下載功能的補充。
老規矩,復制保存為dl.vbe。
不過這個VBS的代碼的不同之處不是雙擊運行,而是在CMD命令行下執行。

下載功能執行的格式是: cscript.exe dl.vbs (目標文件地址)

[以下載MetaSploit的WIn32版本為例。在CMD中輸入:cscript.exe dl.vbs http://spool.metasploit.com/releases/framework-3.2.exe]

36.7M的文件下載用了7分多鐘,而迅雷用了1分50秒。

代碼如下:
復制代碼 代碼如下:

if (lcase(right(wscript.fullname,11))="wscript.exe") then'判斷腳本宿主的名稱'
die("Script host must be CScript.exe.") '腳本宿主不是CScript,于是就die了'
end if

if wscript.arguments.count<1 then'至少要有一個參數'
die("Usage: cscript webdl.vbs url [filename]") '麻雀雖小五臟俱全,Usage不能忘'
end if

url=wscript.arguments(0) '參數數組下標從0開始'
if url="" then die("URL can't be null.") '敢唬我,空url可不行'
if wscript.arguments.count>1 then'先判斷參數個數是否大于1'
filename=wscript.arguments(1) '再訪問第二個參數'
else '如果沒有給出文件名,就從url中獲得'
t=instrrev(url,"/") '獲得最后一個"/"的位置'
if t=0 or t=len(url) then die("Can not get filename to save.") '沒有"/"或以"/"結尾'
filename=right(url,len(url)-t)'獲得要保存的文件名'
end if
if not left(url,7)="http://" then url="http://"&url'如果粗心把“http://”忘了,加上'

set fso=wscript.createobject("Scripting.FileSystemObject") 'FSO,ASO,HTTP三個對象一個都不能少'
set aso=wscript.createobject("ADODB.Stream")
set http=wscript.createobject("Microsoft.XMLHTTP")

if fso.fileexists(filename) then '判斷要下載的文件是否已經存在'
start=fso.getfile(filename).size '存在,以當前文件大小作為開始位置'
else
start=0 '不存在,一切從零開始'
fso.createtextfile(filename).close '新建文件'
end if

wscript.stdout.write "Connectting..." '好戲剛剛開始'
current=start '當前位置即開始位置'
do
http.open "GET",url,true'這里用異步方式調用HTTP'
http.setrequestheader "Range","bytes="&start&"-"&cstr(start+20480) '斷點續傳的奧秘就在這里'
http.setrequestheader "Content-Type:","application/octet-stream"
http.send '構造完數據包就開始發送'

for i=1 to 120 '循環等待'
if http.readystate=3 then showplan() '狀態3表示開始接收數據,顯示進度'
if http.readystate=4 then exit for '狀態4表示數據接受完成'
wscript.sleep 500 '等待500ms'
next
if not http.readystate=4 then die("Timeout.") '1分鐘還沒下完20k?超時!'
if http.status>299 then die("Error: "&http.status&" "&http.statustext) '不是吧,又出錯?'
if not http.status=206 then die("Server Not Support Partial Content.") '服務器不支持斷點續傳'

aso.type=1 '數據流類型設為字節'
aso.open
aso.loadfromfile filename '打開文件'
aso.position=start'設置文件指針初始位置'
aso.write http.responsebody '寫入數據'
aso.savetofile filename,2 '覆蓋保存'
aso.close

range=http.getresponseheader("Content-Range") '獲得http頭中的"Content-Range"'
if range="" then die("Can not get range.")'沒有它就不知道下載完了沒有'
temp=mid(range,instr(range,"-")+1) 'Content-Range是類似123-456/789的樣子'
current=clng(left(temp,instr(temp,"/")-1))'123是開始位置,456是結束位置'
total=clng(mid(temp,instr(temp,"/")+1)) '789是文件總字節數'
if total-current=1 then exit do '結束位置比總大小少1就表示傳輸完成了'
start=start+20480 '否則再下載20k'
loop while true

wscript.echo chr(13)&"Download ("&total&") Done." '下載完了,顯示總字節數'

function die(msg) '函數名來自Perl內置函數die'
wscript.echo msg '交代遺言^_^'
wscript.quit '去見馬克思了'
end function

function showplan() '顯示下載進度'
if i mod 3 = 0 then c="/" '簡單的動態效果'
if i mod 3 = 1 then c="-"
if i mod 3 = 2 then c="/"
wscript.stdout.write chr(13)&"Download ("&current&") "&c&chr(8)'13號ASCII碼是回到行首,8號是退格'
end function


以上就是完整的用VBS寫的支持斷點的下載代碼,非常適合公司禁止用XunLei、Flashget的情況。只是速度是個問題。需要完善到多線程下載。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产欧美一区二区三区成人| 欧美精品在线播放| 欧美亚洲国产精品| 亚洲三级av在线| 日韩天堂在线视频| www.午夜精品| 久久久久久久久电影| 日韩人体视频一二区| 欧美国产极速在线| 久久影院中文字幕| 91精品视频一区| 国产精品欧美风情| 国产欧美精品在线播放| 国产成人综合亚洲| 欧美极品少妇xxxxx| www.久久久久久.com| 欧美大肥婆大肥bbbbb| 亚洲第一区中文字幕| 日韩av在线最新| 草民午夜欧美限制a级福利片| 国产91精品久久久久久久| 日韩毛片中文字幕| 黑人狂躁日本妞一区二区三区| 日本久久久a级免费| 国产在线观看91精品一区| 久久免费在线观看| 亚洲摸下面视频| 国产一区二区在线免费| 亚洲在线观看视频网站| 国产精品午夜视频| 91亚洲国产成人久久精品网站| 青青草精品毛片| 视频一区视频二区国产精品| 91在线视频九色| 亚洲va欧美va国产综合剧情| 国产精品极品美女粉嫩高清在线| 亚洲精品视频免费在线观看| 岛国视频午夜一区免费在线观看| 久久免费国产精品1| 欧美成人免费视频| 国模极品一区二区三区| 欧美亚洲另类激情另类| 国产精品久久99久久| 欧美极品欧美精品欧美视频| 欧美日韩在线影院| 欧美做受高潮电影o| 九九热最新视频//这里只有精品| 国产精品视频区1| 欧美亚洲成人精品| 亚洲999一在线观看www| 欧美一级bbbbb性bbbb喷潮片| 精品国产乱码久久久久久虫虫漫画| 国产美女久久久| 日本成人在线视频网址| 91精品国产自产在线| 97在线观看视频| 欧美孕妇性xx| 亚洲精品久久7777777| 国产精品精品久久久| 日本免费一区二区三区视频观看| 亚洲精品av在线| 2018日韩中文字幕| 国产欧美日韩精品专区| 国产91精品黑色丝袜高跟鞋| 亚洲奶大毛多的老太婆| 国产欧美久久一区二区| 精品国产91久久久久久| 欧美国产亚洲精品久久久8v| 亚洲影影院av| 国产成人aa精品一区在线播放| 久久亚洲私人国产精品va| 中国人与牲禽动交精品| 国产精品27p| 一区二区av在线| 午夜精品久久久久久99热软件| 欧美中文字幕精品| 国产日韩在线一区| 日本精品免费一区二区三区| 成人在线激情视频| 国内精品视频久久| 在线亚洲欧美视频| 亚洲日本成人网| 国产suv精品一区二区三区88区| 久久久久久久一区二区三区| 久久全国免费视频| 亚洲国产日韩欧美在线图片| 国产精品va在线播放| 久久精品影视伊人网| 成人激情在线观看| 97激碰免费视频| 狠狠久久亚洲欧美专区| 国产精品高潮粉嫩av| 日本久久亚洲电影| 在线免费观看羞羞视频一区二区| 日韩激情av在线播放| 九九精品视频在线| 91久久久亚洲精品| 91av在线免费观看视频| 97av在线视频免费播放| 亚洲欧美综合另类中字| 92版电视剧仙鹤神针在线观看| 亚洲黄在线观看| 亚洲欧美三级伦理| 亚洲大胆人体视频| 久久精品99久久久久久久久| 欧美色播在线播放| 亚洲精品一区二区三区婷婷月| 欧美黄色成人网| 久久久久久成人精品| 亚洲精品久久久久久久久久久| 亚洲欧美精品一区二区| 青青草99啪国产免费| 国产精品亚洲片夜色在线| 国产成人a亚洲精品| 欧美另类在线观看| 成人精品一区二区三区电影黑人| 亚洲精品免费在线视频| 日韩在线观看网址| 国产精品中文字幕在线观看| 成人免费视频a| 大量国产精品视频| 亚洲高清免费观看高清完整版| 欧美日韩在线一区| 国产一区视频在线| 亚洲一区二区三区成人在线视频精品| 成人av在线天堂| 日韩有码在线播放| 欧美成aaa人片在线观看蜜臀| 国产精品免费一区二区三区都可以| 日韩av综合网| 精品视频久久久久久| 国产成人精品免费久久久久| 欧美巨乳在线观看| 久久网福利资源网站| 亚洲欧美综合区自拍另类| 亚洲成人中文字幕| 国产在线拍揄自揄视频不卡99| 欧美日韩免费看| 欧美日韩视频免费播放| 国产精品成人v| 成人午夜在线影院| 日韩精品小视频| 亚洲欧洲第一视频| 欧美高跟鞋交xxxxhd| 日韩av色综合| 亚洲精品国产拍免费91在线| 亚洲国模精品私拍| 国产精品91一区| 日韩中文字幕免费| 欧美日韩一区二区三区在线免费观看| 久久久久久久爱| 亚洲色图综合网| 久久久精品国产网站| 91av在线视频观看| 高清日韩电视剧大全免费播放在线观看| 亚洲国产精品高清久久久| 日韩中文字幕在线精品| 亚洲aa在线观看| 久久久久久久久爱| 亚洲aaa激情| 日韩美女福利视频| 日产精品久久久一区二区福利| 欧美性色xo影院| 国产精品一区二区久久国产|