亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 207.htm

?? VB的一些網(wǎng)絡(luò)編程的例子,個(gè)人認(rèn)為還不錯(cuò)。大家一起來(lái)研究一下.
?? HTM
字號(hào):
<p>用VB編寫異步多線程下載程序</p>
<p></p>
<p>為了高效率地下載某站點(diǎn)的網(wǎng)頁(yè),我們可利用VB的Internet Transfer 控件編寫自己的下載程序, Internet Transfer 控件支持超文本傳輸協(xié)議 (HTTP) 和文件傳輸協(xié)議 (FTP),使用 Internet Transfer 控件可以通過(guò) OpenURL 或 Execute 方法連接到任何使用這兩個(gè)協(xié)議的站點(diǎn)并檢索文件。本程序使用多個(gè)Internet Transfer 控件,使其同時(shí)下載某站點(diǎn)。并可判斷文件是否已下載過(guò)或下載過(guò)的文件是否比服務(wù)器上當(dāng)前的文件陳舊,以決定是否重新下載。所有下載的文件中的鏈接都做了調(diào)整,以便于本地查閱。 </p>
<p>OpenURL 方法以同步方式傳輸數(shù)據(jù)。同步指的是傳輸操作未完成之前,不能執(zhí)行其它過(guò)程。這樣數(shù)據(jù)傳輸就必須在執(zhí)行其它代碼之前完成。 </p>
<p>而 Execute 方法以異步方式傳輸數(shù)據(jù)。在調(diào)用 Execute 方法時(shí),傳輸操作與其它過(guò)程無(wú)關(guān)。這樣,在調(diào)用 Execute 方法后,在后臺(tái)接收數(shù)據(jù)的同時(shí)可執(zhí)行其它代碼。 </p>
<p>用 OpenURL 方法能夠直接得到可保存到磁盤的數(shù)據(jù)流,或者直接在 TextBox 控件中閱覽(如果數(shù)據(jù)是文本格式的)。而用 Execute 方法獲取數(shù)據(jù),則必須用 StateChanged 事件監(jiān)視該控件的連接狀態(tài)。當(dāng)達(dá)到適當(dāng)?shù)臓顟B(tài)時(shí),調(diào)用 GetChunk 方法從控件的緩沖區(qū)獲取數(shù)據(jù)。 </p>
<p>   </p>
<p>首先,建立啟始的http檢索連接, </p>
<p>Public g As Variant </p>
<p>Public k As Variant </p>
<p>Public spath As String </p>
<p>Dim links() As String </p>
<p>g = 0 </p>
<p>spath = 本地保存下載文件的路徑 </p>
<p>links(0)=啟始URL </p>
<p>inet1.execute links(0), "GET" 注釋:使用GET方法。 </p>
<p>   </p>
<p>事件監(jiān)控子程序(每個(gè)Internet Transfer 控件設(shè)置相對(duì)應(yīng)的事件監(jiān)控子程序): </p>
<p>用StateChanged 事件監(jiān)視該控件的連接狀態(tài), 當(dāng)該請(qǐng)求已經(jīng)完成,并且所有數(shù)據(jù)均已接收到時(shí),調(diào)用 GetChunk 方法從控件的緩沖區(qū)獲取數(shù)據(jù)。 </p>
<p>Private Sub Inet1_StateChanged(ByVal State As Integer) </p>
<p>注釋:State = 12 時(shí),使用 GetChunk 方法檢索服務(wù)器的響應(yīng)。 </p>
<p>Select Case State </p>
<p>注釋:...沒(méi)有列舉其它情況。 </p>
<p>   </p>
<p>Case icResponseCompleted 注釋:12 </p>
<p>注釋:獲取links(g)中的協(xié)議、主機(jī)和路徑名。 </p>
<p>addsuf = Left(links(g), InStrRev(links(g), "/")) </p>
<p>注釋:獲取links(g)中的文件名。 </p>
<p>fname = Right(links(g), Len(links(g)) - InStrRev(links(g), "/")) </p>
<p>注釋:判斷是否是超文本文件,是超文本文件則分析其中的鏈接,若不是則存為二進(jìn)制文件。 </p>
<p>If InStr(1, fname, "htm", vbTextCompare) = True Then </p>
<p>注釋:初始化用于保存文件的FileSystemObject對(duì)象。 </p>
<p>Set fs = CreateObject("Scripting.FileSystemObject") </p>
<p>Dim vtData As Variant 注釋:數(shù)據(jù)變量。 </p>
<p>Dim strData As String: strData = "" </p>
<p>Dim bDone As Boolean: bDone = False </p>
<p>   </p>
<p>注釋:取得第一塊。 </p>
<p>vtData = inet1.GetChunk(1024, icString) </p>
<p>DoEvents </p>
<p>Do While Not bDone </p>
<p>strData = strData & vtData </p>
<p>DoEvents </p>
<p>注釋:取得下一塊。 </p>
<p>vtData = inet1.GetChunk(1024, icString) </p>
<p>If Len(vtData) = 0 Then </p>
<p>bDone = True </p>
<p>End If </p>
<p>Loop </p>
<p>   </p>
<p>注釋:獲取文檔中的鏈接并置于數(shù)組中。 </p>
<p>Dim i As Variant </p>
<p>Dim po1 As Variant </p>
<p>Dim po2 As Variant </p>
<p>Dim oril As String </p>
<p>Dim newl As String </p>
<p>Dim lmtime, ctime </p>
<p>po1 = InStr(1, strData, "href=", vbTextCompare) + 5 </p>
<p>po2 = 1 </p>
<p>Dim newstr As String: newstr = "" </p>
<p>Dim whostr As String: whostr = "" </p>
<p>i = 0 </p>
<p>Do While po1 > 0 </p>
<p>newstr = Mid(strData, po2, po1) </p>
<p>whostr = whostr + newstr </p>
<p>po2 = InStr(po1, strData, ">", vbTextCompare) </p>
<p>注釋:將原鏈接改為新鏈接 </p>
<p>oril = Mid(strData, po1 + 1, po2 - po1 - 1) </p>
<p>注釋:如果有引號(hào),去掉引號(hào) </p>
<p>ln = Replace(oril, """", "", vbTextCompare) </p>
<p>newl = Right(ln, Len(ln) - InStrRev(ln, "/")) </p>
<p>whostr = whostr & newl </p>
<p>If ln <> "" Then </p>
<p>注釋:判定文件是否下載過(guò)。 </p>
<p>If fileexists(spath & newl) = False Then </p>
<p>links(i) = addsuf & ln </p>
<p>i = i + 1 </p>
<p>Else </p>
<p>lmtime = inet1.getheader("Last-modified") </p>
<p>Set f = fs.getfile(spath & newl) </p>
<p>ctime = f.datecreated </p>
<p>注釋:判斷文件是否更新 </p>
<p>If DateDiff("s", lmtime, ctime) < 0 Then </p>
<p>i = i + 1 </p>
<p>End If </p>
<p>End If </p>
<p>End If </p>
<p>po1 = InStr(po2 + 1, strData, "href=", vbTextCompare) + 5 </p>
<p>Loop </p>
<p>newstr = Mid(strData, po2) </p>
<p>whostr = whostr + newstr </p>
<p>   </p>
<p>Set a = fs.createtextfile(spath & fname, True) </p>
<p>a.Write whostr </p>
<p>a.Close </p>
<p>k = i </p>
<p>Else </p>
<p>Dim vtData As Variant </p>
<p>Dim b() As Byte </p>
<p>Dim bDone As Boolean: bDone = False </p>
<p>vtData = Inet2.GetChunk(1024, icByteArray) </p>
<p>Do While Not bDone </p>
<p>b() = b() & vtData </p>
<p>vtData = Inet2.GetChunk(1024, icByteArray) </p>
<p>If Len(vtData) = 0 Then </p>
<p>bDone = True </p>
<p>End If </p>
<p>Loop </p>
<p>Open spath & fname For Binary Access Write As #1 </p>
<p>Put #1, , b() </p>
<p>Close #1 </p>
<p>End If </p>
<p>Call devjob 注釋:調(diào)用線程調(diào)度子程序 </p>
<p>End Select </p>
<p>   </p>
<p>End Sub </p>
<p>   </p>
<p>Private Sub Inet2_StateChanged(ByVal State As Integer) </p>
<p>... </p>
<p>end sub </p>
<p>   </p>
<p>... </p>
<p>   </p>
<p>線程調(diào)度子程序,g和是k公用變量,k為最后一個(gè)鏈接的數(shù)組索引加一,g初值為零,每次加一,直到處理完最后一個(gè)鏈接。 </p>
<p>Private Sub devjob() </p>
<p>   </p>
<p>If Not g + 1 < k Then GoTo reportline </p>
<p>If Inet1.StillExecuting = False Then </p>
<p>g = g + 1 </p>
<p>Inet1.Execute links(g), "GET" </p>
<p>End If </p>
<p>If Not g + 1 < k Then GoTo reportline </p>
<p>If Inet2.StillExecuting = False Then </p>
<p>g = g + 1 </p>
<p>Inet2.Execute links(g), "GET" </p>
<p>End If </p>
<p>   </p>
<p>... </p>
<p>   </p>
<p>reportline: </p>
<p>If Inet1.StillExecuting = False And Inet2.StillExecuting = False And ... Then </p>
<p>MsgBox ("下載結(jié)束。") </p>
<p>End If </p>
<p>End Sub </p>
<p> </p>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777色狠狠一区二区三区| 欧美午夜免费电影| 在线综合视频播放| 亚洲乱码中文字幕| 91日韩精品一区| 中文字幕 久热精品 视频在线| 美女久久久精品| 欧美一级xxx| 日韩黄色小视频| 欧美精品成人一区二区三区四区| 国产精品国产自产拍高清av| 国产精品一区二区黑丝| 精品sm捆绑视频| 一区二区中文视频| 欧美日韩一区不卡| 亚洲国产精品成人久久综合一区| 亚洲一二三四区| 亚洲国产精品久久久男人的天堂| 欧美久久久久免费| 亚洲视频免费在线观看| 91视频观看视频| 久久亚区不卡日本| 国产一区二区三区免费观看| 日韩片之四级片| 久久99九九99精品| 91精品国产日韩91久久久久久| 一区二区三区四区蜜桃 | 久久久亚洲精品一区二区三区 | 中文字幕+乱码+中文字幕一区| 麻豆久久久久久| 亚洲激情av在线| 一本久久a久久免费精品不卡| 日韩毛片精品高清免费| 成人美女在线观看| 国产精品卡一卡二卡三| 国产一区在线视频| 国产亚洲精品7777| 国产在线视频精品一区| 亚洲另类春色校园小说| 日韩精品一区二区三区中文精品| 91美女精品福利| 国产精品入口麻豆九色| 亚洲精品日韩综合观看成人91| 日韩欧美精品在线| 色综合咪咪久久| 成人动漫一区二区三区| 亚洲一级在线观看| 国产日韩精品一区| 欧美成人性福生活免费看| 激情综合五月婷婷| 亚洲欧美另类久久久精品| 色吊一区二区三区| 首页国产欧美久久| 亚洲美女区一区| 亚洲欧美综合网| 国产女人aaa级久久久级| 日韩一区二区电影在线| 欧美老肥妇做.爰bbww| 在线观看一区不卡| 色中色一区二区| 激情综合网天天干| 在线国产电影不卡| 色综合久久久久网| 色网综合在线观看| 97se亚洲国产综合自在线| 成人夜色视频网站在线观看| 日韩一区二区中文字幕| 欧美一区二区三区喷汁尤物| 日韩一二三区不卡| 精品理论电影在线| 国产日韩欧美精品综合| 国产日韩一级二级三级| 中文字幕一区二| 日韩av高清在线观看| 久久不见久久见免费视频1| 免费人成黄页网站在线一区二区| 亚洲综合色自拍一区| 日韩精彩视频在线观看| 国内成人自拍视频| 欧美日韩你懂的| 91精品国产福利在线观看| 成人性色生活片| 国产拍欧美日韩视频二区| 日本一区二区视频在线| 欧美一区二区观看视频| 日本不卡中文字幕| 久久精品免费在线观看| 成人av网址在线| 极品瑜伽女神91| 日韩精品高清不卡| 日本不卡视频在线| 欧美日韩国产高清一区| 日韩免费福利电影在线观看| 亚洲你懂的在线视频| 国产精品美女视频| 国产精品第一页第二页第三页| 91免费国产在线观看| 色婷婷av一区二区三区大白胸 | 亚洲成人动漫精品| 午夜精品福利一区二区蜜股av | 久久综合丝袜日本网| 欧美激情综合五月色丁香小说| 中文字幕中文字幕在线一区| 亚洲精品高清视频在线观看| 天堂va蜜桃一区二区三区漫画版 | 中文文精品字幕一区二区| 国产精品久久久久久久久久免费看| 亚洲精品中文在线影院| 亚洲h在线观看| 激情综合网av| 99精品视频一区二区| 欧美日韩国产一级片| 欧美精品一区二区三区在线| 国产精品久久久久一区二区三区共| 一区二区三区中文免费| 麻豆一区二区99久久久久| 国产精品一区二区三区网站| 91免费观看在线| 日韩女优制服丝袜电影| 中文字幕日本不卡| 人妖欧美一区二区| 91偷拍与自偷拍精品| 91精品蜜臀在线一区尤物| 久久九九久精品国产免费直播| 亚洲欧美乱综合| 久久99久久99| 在线观看91视频| wwwwxxxxx欧美| 午夜欧美一区二区三区在线播放| 国产精品一区二区在线看| 欧美网站大全在线观看| 国产亚洲欧美在线| 亚洲高清免费观看| 99久久精品一区| www久久精品| 午夜久久久影院| 成人丝袜高跟foot| 日韩精品一区二区三区四区视频| 亚洲人成人一区二区在线观看| 国产一区二区三区日韩| 制服丝袜中文字幕亚洲| 中文字幕第一区综合| 久久电影网站中文字幕| 欧美视频第二页| 成人精品国产一区二区4080| 日韩**一区毛片| 99在线精品视频| 国产三级一区二区| 亚洲国产欧美在线| 97精品国产露脸对白| 久久色.com| 蜜臀av性久久久久蜜臀av麻豆 | 日本成人超碰在线观看| av电影一区二区| 久久综合久久久久88| 日韩在线一区二区三区| 欧洲生活片亚洲生活在线观看| 国产精品第四页| 国产福利一区在线| 国产亚洲美州欧州综合国| 蜜臀av亚洲一区中文字幕| 色悠悠亚洲一区二区| 日本一区二区成人| 国产精品夜夜嗨| 久久综合国产精品| 国产精品自产自拍| 国产精品美女久久久久久| 337p日本欧洲亚洲大胆精品| 老司机免费视频一区二区| 欧美老肥妇做.爰bbww视频| 午夜久久久久久久久久一区二区| 欧美日韩综合不卡| 亚洲国产成人av网| 欧美专区亚洲专区| 亚洲激情校园春色| 91福利小视频| 亚洲精品成人精品456| 在线精品亚洲一区二区不卡| 亚洲男人电影天堂| 欧美日韩视频专区在线播放| 亚洲精品免费在线| 欧美性生活大片视频| 首页综合国产亚洲丝袜| 日韩欧美国产综合| 国产麻豆精品一区二区| 久久九九99视频| 成人国产精品免费观看| 一区二区三区不卡视频在线观看| 色悠悠久久综合| 免费精品视频最新在线| 久久综合一区二区| 91麻豆国产福利精品| 亚洲一级在线观看| 日韩欧美久久久| av网站免费线看精品| 亚洲午夜日本在线观看| 欧美tickling挠脚心丨vk| 国精产品一区一区三区mba视频 | 2023国产一二三区日本精品2022| 亚洲视频一二三|