韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

用VB完成頁面下載跟蹤程序

用VB完成頁面下載跟蹤程序

更新時(shí)間:2022-10-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

陶國強(qiáng)  

互聯(lián)網(wǎng)傳輸控件(ITC)是一個(gè)很不錯(cuò)的控件,我們可以利用它非常方便地檢索Web資源,但不幸的是,該控件并沒有提供跟蹤數(shù)據(jù)傳輸過程的方法。如果ITC控件具有諸如DownloadProgress或者DataArrival這樣的事件,而且該事件還具有相應(yīng)的參數(shù)就好了,但可惜也沒有。那么有沒有方法來獲取網(wǎng)頁下載過程的信息呢?答案是肯定的,下面就來討論一下如何獲取HTTP數(shù)據(jù)傳輸?shù)倪^程信息。
通常,我們使用ITC控件提供的兩種方法來下載Web頁面,即OpenURL和Execute,其中,OpenURL方法最簡單,但其功能有限,用這種方法并不能得到任何過程信息。為了用OpenURL方法獲取Web頁面內(nèi)容,我們可以使用下面的代碼:
strPageContent = Inet1.OpenURL(strURL, icString)
可見,用OpenURL方法下載頁面確實(shí)很簡單,但我們不能對(duì)到達(dá)的數(shù)據(jù)進(jìn)行控制,所以,我們需要訪問Winsock緩沖區(qū),該緩沖區(qū)的功能是存儲(chǔ)到達(dá)的數(shù)據(jù)。如果我們能夠訪問緩沖區(qū)內(nèi)的數(shù)據(jù),那么我們就能在傳輸過程中的任何時(shí)刻計(jì)算出已到達(dá)數(shù)據(jù)的大小。而利用ITC控件的Execute方法,情況就完全不同了,下面我們來看一下該方法是如何工作的:
'Execute方法只是向Web服務(wù)器發(fā)送HTTP請(qǐng)求,而本身并不接收任何數(shù)據(jù)
Inet1.Execute strURL, "GET"
為了檢索已達(dá)到數(shù)據(jù),我們需要使用GetChunk方法將緩沖區(qū)數(shù)據(jù)讀到VB變量中。
strBuffer = Inet1.GetChunk(512)
strArrivedData = strArrivedData & strBuffer
可見,GetChnuk方法具有Size參數(shù),允許我們自定義從緩沖區(qū)內(nèi)讀出數(shù)據(jù)塊的大小。因此,我們找到了控制到達(dá)數(shù)據(jù)的方法,而且我們可以在下載過程中實(shí)現(xiàn)對(duì)已到達(dá)數(shù)據(jù)的控制。在StateChanged事件中加入如下代碼:
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case icResponseCompleted
Do
DoEvents
strBuffer = Inet1.GetChunk(512)
strArrivedData = strArrivedData & strBuffer
lngArrivedDataSize = Len(strArrivedData)
Loop Until Len(strBuffer) = 0
End Select
End Sub
OK!現(xiàn)在我們就能夠顯示已到達(dá)數(shù)據(jù)的大小了。但是如何獲得下載數(shù)量的百分比值,然后通過進(jìn)度條來顯示下載過程呢?首先,我們需要在任何數(shù)據(jù)到達(dá)之前知道頁面文件的大小。根據(jù)HTTP規(guī)范,Web服務(wù)器需要發(fā)送內(nèi)容長度報(bào)頭(Content-Length header field)作為HTTP請(qǐng)求的響應(yīng),通過這個(gè)值我們就可以知道頁面文件的大小。我們可以在StateChanged事件中調(diào)用ITC控件的GetHeader方法來獲取這個(gè)值,如下所示:
'This module level variable stores size of the file we are downloading from the web
Private m_lngDocSize As Long
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case icResponseReceived
If m_lDocSize = 0 Then
If Len(Inet1.GetHeader("Content-Length")) > 0 Then
m_lDocSize = CLng(Inet1.GetHeader("Content-Length"))
End If
End If
End Select
End Sub
然而,在某些情況下,Web服務(wù)器并不發(fā)送內(nèi)容長度報(bào)頭,我們也就不能知道頁面文件大小,也就不能顯示進(jìn)度信息了。
現(xiàn)在,我們來創(chuàng)建一個(gè)簡單的應(yīng)用程序來實(shí)現(xiàn)我們的目標(biāo)。
創(chuàng)建工程
啟動(dòng)VB集成開發(fā)環(huán)境,創(chuàng)建一個(gè)標(biāo)準(zhǔn)Windows應(yīng)用工程,將該工程命名為DownloadProgress,在Project菜單中打開Componets對(duì)話框(或按快捷鍵Ctrl+T激活),然后選中下列控件:
• Microsoft Internet Transfer Control  
• Microsoft Rich Textbox Control  
• Microsoft Windows Common Controls  
選擇保存目錄,然后保存該工程。
創(chuàng)建圖形用戶界面
在窗體上放置下列控件:
• TextBox  
• CommandButton  
• 兩個(gè)Frame控件
• Label
• ProgressBar  
• RichTextBox  
• Internet Transfer Control  
如下圖所示,在窗體上對(duì)以上控件進(jìn)行布置。


編寫應(yīng)用程序代碼
打開窗體的代碼編輯器,在全局變量聲明部分(General-Declarations)部分進(jìn)行如下變量聲明。
Private m_lngDocSize As Long
這個(gè)變量將用來存儲(chǔ)我們將要下載的頁面大小。
下面,我們將對(duì)命令按鈕進(jìn)行編碼,在Command1_Click 事件中加入如下代碼:
Private Sub Command1_Click()
'文件大小值復(fù)位
m_lngDocSize = 0
'清空rtbDocument的文本
rtbDocument.Text = ""
'復(fù)位進(jìn)度條控件
ProgressBar1.Value = 0.001
'顯示進(jìn)度的標(biāo)簽內(nèi)容設(shè)為空
lblProgressInfo.Caption = ""
'定義ITC控件使用的協(xié)議為HTTP協(xié)議
Inet1.Protocol = icHTTP
'調(diào)用Execute方法向Web服務(wù)器發(fā)送HTTP請(qǐng)求
If Len(txtURL.Text) > 0 Then
Inet1.Execute Trim$(txtURL.Text), "GET"
End If
End Sub
在命令按鈕中,我們對(duì)各個(gè)控件的初值進(jìn)行了復(fù)位,并向Web服務(wù)器發(fā)送了HTTP請(qǐng)求,該URL地址由用戶鍵入到文本框中。在服務(wù)器開始響應(yīng)時(shí),我們需要處理ITC控件的StateChanged事件,從而獲得內(nèi)容長度報(bào)頭,并獲取隨后傳送過來的頁面過程信息。
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim strText As String
Dim strBuffer As String
Dim sngProgerssValue As Single
On Error Resume Next
Select Case State
Case icResponseCompleted
Do '從緩沖區(qū)讀取數(shù)據(jù)
DoEvents
strBuffer = Inet1.GetChunk(512)
strText = strText & strBuffer
If m_lngDocSize > 0 Then
If Len(strBuffer) > 0 Then
'獲得進(jìn)度百分比值
sngProgerssValue = Int((Len(strText) / m_lngDocSize) * 100)
End If
'更新進(jìn)度標(biāo)簽顯示內(nèi)容
lblProgressInfo.Caption = "Downloaded " & CStr(Len(strText)) & _
" bytes (" & CStr(sngProgerssValue) & "%)"
'用新值更新進(jìn)度條控件
ProgressBar1.Value = sngProgerssValue
End If
Loop Until Len(strBuffer) = 0
'將讀取的HTML頁面內(nèi)容置入RichTextBox控件
rtbDocument.Text = strText
Case icResponseReceived
If m_lngDocSize = 0 Then
'讀取頁面文件大小
If Len(Inet1.GetHeader("Content-Length")) > 0 Then
m_lngDocSize = CLng(Inet1.GetHeader("Content-Length"))
End If
End If
End Select
End Sub
一切OK!按F5測(cè)試這個(gè)新完成的應(yīng)用程序,在文本框內(nèi)鍵入任意存在的URL地址,然后點(diǎn)擊讀取按鈕,呵呵,成功了!(如果服務(wù)器發(fā)送了內(nèi)容長度報(bào)頭,我們就能看到結(jié)果,如果不發(fā)送,這個(gè)程序可就罷工了。)
下載源文件  http://www.ccw.com.cn/htm/app/down/020329.zip

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
青青草97国产精品免费观看| 精品1卡二卡三卡四卡老狼| 不用播放器的免费av| 久久精品无码一区二区日韩av| 色婷婷综合久久久中文一区二区| 超薄肉色丝袜脚交一区二区| 美女黄色片视频| 国产一卡2卡3卡免费网站| 囯产精品久久久久久| 国产欧美精品在线观看| 免费黄在线观看| 欧美另类自拍| 欧美成人video| 首页亚洲欧美制服丝腿| 日本中文字幕在线不卡| 古装做爰无遮挡三级聊斋艳谭| 日本在线观看一区二区| 91麻豆精品91久久久久久清纯| 亚洲色图在线视频| 已婚少妇美妙人妻系列| 亚洲国产精品天堂| 99视频精品| 少妇性l交大片7724com| 国产美女视频免费看| 国产精品99久久久久久久久| 亚洲特色特黄| 青草青草久热精品视频在线观看| 成人福利片在线| 亚洲欧洲日韩av| 四色成人av永久网址| 成人国产精品av| 九九九久久国产免费| 亚洲国产精品久久久久婷婷884| 日本婷婷久久久久久久久一区二区| 欧美性高跟鞋xxxxhd| 自拍偷拍国产| 精品国产sm最大网站免费看| 欧美一区二区三区精品| 欧美国产日韩一二三区| 国内精品视频一区| 日本wwwxx| 狠狠干夜夜草| 久久香蕉国产线看观看网| 亚洲国产成人私人影院| 色在线视频免费| 欧美三级中文字幕在线观看| www.黄com| 欧美日韩你懂的| 久久综合色天天久久综合图片| 欧美成人免费全部观看天天性色| 亚洲电影在线观看| 三级av在线免费观看| 影音先锋人妻啪啪av资源网站| a级大胆欧美人体大胆666| 欧美一区二区三区四区在线观看地址| heyzo一本久久综合| 国产日韩一区欧美| 欧美激情影音先锋| 国内国产精品天干天干| 91超碰caoporn97人人| 欧美视频福利| 欧美视频在线观看一区二区| 久草资源在线观看| 国产cdts系列另类在线观看| www.久久精品.com| 日韩中文字幕免费在线| 在线视频中文字幕| а天堂中文在线官网| 校园春色另类视频| 欧美色婷婷久久99精品红桃| 91国自产精品中文字幕亚洲| 少妇bbw搡bbbb搡bbbb| 欧美大尺度在线观看| 中文一区一区三区高中清不卡| 麻豆成人在线观看| 国产成人a亚洲精v品无码| 免费在线成人av| 91骚色在线| 欧美成人sm免费视频| 亚洲аv电影天堂网| 国产精品国产精品国产专区不卡| 亚洲国产资源| 成人丝袜高跟foot| 亚洲一区在线看| 亚洲毛片一区二区三区| 97超碰中文字幕| 国产精品爽爽久久久久久| 精品精品国产三级a∨在线| 欧美一区=区三区| 精品成人一区二区三区四区| 美女的奶胸大爽爽大片| 在线观看视频99| 麻豆影视在线| 国产精品自拍视频一区| 伊人久久大香线蕉成人综合网| 美女做a视频| 日韩中文在线中文网三级| 国产精品毛片a∨一区二区三区| 国产精品久久久久久久岛一牛影视| 亚洲小说区图片区| 草草久视频在线观看电影资源| a在线免费观看| 伊人国产视频| 丁香影院在线| 亚洲国产日韩欧美在线| 久久精品国产色蜜蜜麻豆| 成看片vvv222| 国产精品无码在线播放| 午夜日韩成人影院| 舔着乳尖日韩一区| 欧美精品国产精品日韩精品| 国产三级精品网站| 国产乱码精品一区二区三区精东| 国产绳艺sm调教室论坛| 亚洲天堂免费在线| 中国一级特黄毛片| 青青热久免费精品视频在线18| 成人av免费在线观看| 日韩中文字幕免费视频| 91黑丝在线观看| 无遮挡爽大片在线观看视频| 麻豆视频免费网站| 日韩偷拍自拍| 国产主播第一页| 精品亚洲免a| 在线观看视频一区二区三区| 黄页在线播放| 六月激情综合网| 日本成人福利| 懂色一区二区三区av片| 国产福利久久久| 欧美日韩中文字幕在线观看| 亚洲缚视频在线观看| 999国产在线| 人人做人人澡人人爽欧美| 国产成人自拍高清视频在线免费播放| 中文字幕在线视频网| 亚洲一区二区三区加勒比| 麻豆成人久久精品二区三区红| 精品免费一区二区三区| 亚洲一级片免费| 国产精品久久久久无码av色戒| 色偷偷亚洲男人天堂| 日韩成人激情视频| 桃乃木香奈av在线| 奇米影视亚洲狠狠色| 欧美激情欧美激情在线五月| 日本泡妞xxxx免费视频软件| 91九色网站| 羞羞的网站在线观看| 成人福利在线观看视频| 成人av.网址在线网站| 天天操天天干天天做| 亚洲精品99久久久久中文字幕| 精品久久久久香蕉网| 久久婷婷综合国产| 久久r这里只有精品| 国产精品久久久久7777婷婷| 久久亚洲捆绑美女| 亚洲精品免费电影| 欧美激情一级精品国产| 欧美黑人双插| 最近更新的2019中文字幕| 欧美日韩一级二级| 欧美午夜精品久久久久久人妖| 男人的天堂av网站| 日韩精品免费播放| 日韩第一区第二区| www.欧美激情.com| 日韩一二三四| 欧美18 19xxx| 激情欧美丁香| 人人爱人人爽| 久久人人99| 国产精品美女视频免费观看软件| 国产精品豆花视频| 亚洲一区二区三区四区五区xx| 久久人人看视频| 黄色片网站免费在线观看| 日韩高清dvd| 亚洲第一图区| 亚洲美女福利视频| 在线免费观看黄色片| 亚洲一区二区网站| 天美一区二区三区| 久久性爱视频网站| 美女的奶胸大爽爽大片| 亚洲精品福利电影| 伊人久久大香线蕉综合四虎小说| 日韩精品视频免费| 久久中文字幕在线视频| 欧美日韩中文一区二区| 18国产精品| eeuss影院www天堂免费| 亚洲综合中文| 精品麻豆av| 亚洲综合小说区| 国产精品一区二区人人爽| 亚洲男女自偷自拍图片另类| 亚洲国产成人av| 99久久婷婷国产综合精品电影| 亚洲精品无码国产| 中文字幕中文乱码欧美一区二区| 日韩女优电影在线观看| 亚洲天堂精品一区| 欧美精品色婷婷五月综合| 国产美女被下药99| 日韩午夜激情电影| 午夜精品久久久久久久星辰影院| 黄色成人免费网| 久久av二区| 小说区图片区色综合区| 久久久久久国产精品无码| 99色在线视频| 成人亚洲在线观看| 精品国产亚洲一区二区三区大结局| 免费黄色在线网站| 日韩欧美亚洲日产国| 97久久人人超碰caoprom欧美| 5g影院5g天天爽永久免费影院| 免费黄色a网站| av在线之家电影网站| 一级黄色a视频| 日本大片在线看黄a∨免费| 久久网站免费观看| 97超碰在线人人| 亚洲社区在线观看| 日韩美女一区二区三区在线观看| 日本黄色免费| 亚洲永久精品在线观看| 国产呻吟对白刺激无套视频在线| 亚洲大奶少妇| 玩弄japan白嫩少妇hd| 国产精品午夜久久久久久| 亚洲成熟女性毛茸茸| 国产又粗又长又大的视频| 天天躁日日躁狠狠躁av| 99热在线免费播放| 日韩激情啪啪| 久草手机在线观看| 7777精品伊久久久大香线蕉语言| 天堂tv亚洲tv日本tv欧美人tv| 国产无套粉嫩白浆内谢| 久久久久中文字幕2018| 在线a欧美视频| 欧美男插女视频| 在线观看黄网| 欧美freesex交免费视频| 午夜老司机在线观看| 日本肉体xxxx裸体784大胆| 久久97超碰国产精品超碰| 91九色精品视频| 亚洲日本国产| 亚洲欧美激情诱惑| 久久成人麻豆午夜电影| 国产精品一区二区资源| 国产精品77777竹菊影视小说| 久久精品久久精品国产大片| av免费在线不卡| 亚洲三级观看| 久久久久亚洲av片无码v| 99热这里只有精品3| 大桥未久女教师av一区二区| 一区二区三区精品久久久| 免费在线欧美视频| 欧美91精品久久久久国产性生爱| 超薄丝袜一区二区| 成人午夜私人影院| 免费女人黄页| 爽爽影院免费观看视频| 日韩区在线观看| 日韩在线观看视频免费| 色先锋资源久久综合5566| 91精品国产沙发| jizzz18| 99久久久国产精品无码免费| 国产丝袜一区视频在线观看| 色婷婷av一区二区三区之e本道| 精品日韩视频| jizzjizz免费大全| 日韩福利在线播放| 久久久久久久激情| 久久久9999久久精品小说| 日韩一二三区不卡| 欧美亚洲国产怡红院影院| 国产中文字幕91| 黄色成人在线网| 亚洲七七久久综合桃花剧情介绍| 五月六月丁香婷婷| 国产又爽又黄又刺激的软件| 毛片aaaaaa| 国产精品久久久久毛片大屁完整版| 五月婷婷综合网| 97久久精品人人做人人爽50路| 国产91高潮流白浆在线麻豆| 成人性生交视频免费观看| 国产免费内射又粗又爽密桃视频| 污网站视频在线观看| av大片在线| 国产精品久久久久永久免费观看| 国语对白在线刺激| 手机看片福利在线观看| 色橹橹高清视频在线播放| 高清色视频在线观看| free性亚洲| 国产欧美视频一区二区三区| 精品在线播放视频| 一区二区三区四区精品在线视频| 国产精品久久久久久久一区二区| 性xxxx搡xxxxx搡欧美| 在线观看视频欧美| 欧美精品第三页| 五月婷婷欧美激情| 国产不卡一卡2卡三卡4卡5卡在线| 欧美最猛性xxxx高清| 国产精品久久久久久久久| 视频一区视频二区视频三区高| 亚洲二区免费| 18禁男女爽爽爽午夜网站免费| 综合欧美亚洲日本| 国产精品99re| 亚洲国产精品99久久久久久久久| 欧美wwwww| 少妇献身老头系列| 99久9在线视频| 欧美日韩在线影院| 国产精品mm| 黄色激情网站|