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

首頁 > 編程 > VBScript > 正文

支持斷點下載的VBS代碼

2020-06-26 18:33:28
字體:
來源:轉載
供稿:網友
VBS真是妙用無窮。會的程序語言不用太多,也不用太復雜,精通一門就好
 
之前我就介紹過VBScript語言的強大。今天再給出一個支持斷點下載的VBS代碼。 
并附上VBS代碼的解析,不懂的朋友可以配合微軟的SCRIPT56.CHM文檔自學。很簡單, 
VBS的好處就是代碼易于理解?;旧厦啃写a執行功能都用英文表示出來了。 
這個代碼也是對我以前介紹的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 ("¤t&") "&c&chr(8)'13號ASCII碼是回到行首,8號是退格' 
end function 


以上就是完整的用VBS寫的支持斷點的下載代碼,非常適合公司禁止用XunLei、Flashget的情況。只是速度是個問題。需要完善到多線程下載。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一区中文99精品| 欧美黄色www| 国产精品福利观看| 亚洲女成人图区| 国产成人小视频在线观看| www.亚洲一区| 久久久久国产视频| 国产精品久久久久久久久久| 亚洲伊人第一页| 欧美日韩亚洲精品内裤| 国产精品电影网| 久久精品91久久久久久再现| 精品国产一区二区在线| 海角国产乱辈乱精品视频| 国产日韩欧美另类| 亚洲国产精品久久久久秋霞不卡| 91产国在线观看动作片喷水| 色www亚洲国产张柏芝| 日韩电影在线观看中文字幕| 亚洲xxxx在线| xxxx性欧美| 久久精品视频一| 久久久91精品| 亚洲美女av电影| 日韩一中文字幕| 欧美激情视频免费观看| 亚洲专区国产精品| 91在线直播亚洲| 久久精品福利视频| 久久天堂电影网| 欧美猛交ⅹxxx乱大交视频| 5566成人精品视频免费| 亚洲天堂免费视频| 亚洲欧美制服中文字幕| 国产欧美日韩视频| 日韩在线欧美在线| 亚洲成人av中文字幕| 久久久久久久97| 深夜成人在线观看| 亚洲片国产一区一级在线观看| 欧美日韩性生活视频| 日韩av在线影视| 欧美高清电影在线看| 日本成人免费在线| 久久精品夜夜夜夜夜久久| 亚洲va久久久噜噜噜久久天堂| 日韩中文字幕在线看| 亚洲娇小xxxx欧美娇小| 亚洲色图35p| 国产精品视频内| 激情懂色av一区av二区av| 亚洲一区二区三区香蕉| 国产精品视频精品| 色七七影院综合| 神马久久桃色视频| 精品日韩中文字幕| 这里只有精品视频在线| 久久免费精品视频| 亚洲精品www久久久| 亚洲欧美日韩精品久久奇米色影视| 欧美亚洲伦理www| 欧美日韩一区二区免费视频| 日本电影亚洲天堂| 日本一区二区在线播放| 久久久999精品免费| 国产精品免费久久久| 色婷婷**av毛片一区| 亚洲精品国产精品久久清纯直播| 亚洲午夜精品久久久久久久久久久久| 精品久久久国产精品999| 欧美国产日韩免费| 欧美日韩国产一区中文午夜| 成人日韩在线电影| 亚洲国产精品电影在线观看| 国产精品第一页在线| 欧美日韩午夜视频在线观看| 日韩欧美成人区| 久久精品99久久久香蕉| 中文字幕亚洲欧美日韩在线不卡| 欧美激情第99页| 精品国产乱码久久久久久虫虫漫画| 日韩中文字幕视频在线观看| 欧美视频在线观看免费| 亚洲最新av在线网站| 这里只有精品视频在线| 欧美日韩电影在线观看| 日韩美女视频免费看| 日韩免费视频在线观看| 精品久久久久久久大神国产| 中文字幕精品在线| 欧美精品少妇videofree| 97视频在线观看网址| 亚洲国产精品久久久| 亚洲自拍偷拍福利| 亚洲白拍色综合图区| 国产69精品久久久久久| 91丨九色丨国产在线| 中文字幕av一区二区| 国产91精品最新在线播放| 亚洲色图美腿丝袜| 秋霞成人午夜鲁丝一区二区三区| 日韩精品视频在线| 97免费中文视频在线观看| 亚洲第一精品久久忘忧草社区| 国产精品久久久久久久9999| 国产福利视频一区二区| 日韩在线视频线视频免费网站| 国外成人在线视频| 美女啪啪无遮挡免费久久网站| 91成人在线视频| 91中文字幕在线| 日韩人在线观看| 日韩av在线免费观看一区| 亚洲国产精品推荐| 国产精品专区第二| 精品激情国产视频| 精品亚洲va在线va天堂资源站| 精品成人乱色一区二区| 国产一区二区在线免费视频| 日韩欧美999| 中文字幕日韩视频| 日韩欧美在线视频| 91久久久久久久久久| 精品久久久av| 欧美激情中文字幕在线| 国产精品www网站| 国产欧美精品xxxx另类| 亚洲国产中文字幕在线观看| 日本成人在线视频网址| 91免费电影网站| 色噜噜狠狠狠综合曰曰曰| 欧美孕妇与黑人孕交| 精品夜色国产国偷在线| 日韩精品中文字幕久久臀| 久久久久久久久91| 色多多国产成人永久免费网站| 精品久久中文字幕久久av| 久久影院在线观看| 97超级碰碰碰久久久| 午夜精品视频在线| 久久夜色精品国产| 亚洲欧美中文在线视频| 少妇精69xxtheporn| 国产精品国内视频| 91精品国产乱码久久久久久蜜臀| 免费91麻豆精品国产自产在线观看| 久久国产加勒比精品无码| 亚洲精品av在线播放| 色噜噜国产精品视频一区二区| 欧美激情按摩在线| 神马国产精品影院av| 亚洲女人被黑人巨大进入al| 国产精品91在线观看| 欧美裸体男粗大视频在线观看| 精品性高朝久久久久久久| 国产丝袜精品视频| 日韩免费在线观看视频| 正在播放欧美视频| 国产精品18久久久久久首页狼| 亚洲第一男人av| 国产玖玖精品视频| 亚洲福利视频在线| 疯狂蹂躏欧美一区二区精品| 在线播放日韩精品|