




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Internet Transfer 控件實(shí)現(xiàn)了兩種廣泛使用的Internet 協(xié)議: 超文本傳送協(xié)議(HyperTextTransfer Protocol) (HTTP) 和文件傳送協(xié)議( File Transfer Protocol) (FTP)。 使用 Internet Transfer控件可以通過(guò)OpenURL 或 Execute 方法連接到任何使用這兩個(gè)協(xié)議的站點(diǎn)并檢索文件。可能的用途在應(yīng)用程序中添加FTP 瀏覽器。創(chuàng)建自動(dòng)從公共FTP 站點(diǎn)下載文件的應(yīng)用程序。分析 World Wide Web 站點(diǎn)中的圖形引用,并只下載圖形。提供以自定義格式顯示從Web 頁(yè)獲得的動(dòng)態(tài)數(shù)據(jù)。基本操作I
2、nternet Transfer 控件的功能依賴于將要使用的協(xié)議。由于所支持的兩種協(xié)議工作起來(lái)不盡相同,所能夠進(jìn)行的操作就依賴于正在使用的協(xié)議。例如,GetHeader 方法只能用于HTTP( HTML 文檔)協(xié)議。然而,有些過(guò)程對(duì)兩個(gè)協(xié)議是通用的。最基本的,如果要使用任何一個(gè)協(xié)議,則必須:將 AccessType 屬性設(shè)置為合法的代理服務(wù)器。用合法的URL 調(diào)用 OpenURL 方法。用合法的URL 和協(xié)議支持的命令調(diào)用Execute 方法。用 GetChunk 方法從緩沖區(qū)獲取數(shù)據(jù)。設(shè)置 AccessType 屬性:使用代理服務(wù)器為了與 Internet 建立任何形式的連接,必須確定計(jì)算機(jī)
3、如何連接到Internet 上。如果在intranet 上,可能需要提供代理服務(wù)器才能連接到Internet 上。簡(jiǎn)單地說(shuō),代理服務(wù)器是計(jì)算機(jī)和Internet 之間的媒介。intranet 上所有需要連接到Internet 上的計(jì)算機(jī),都必須通過(guò)代理服務(wù)器。代理行使intranet 和 Internet 之間的防火墻功能,能夠阻止非法的最終用戶和外部請(qǐng)求,也就保護(hù)了intranet 不受破壞。要查找計(jì)算機(jī)中的代理設(shè)置值,請(qǐng)按照以下步驟執(zhí)行:注意 下面的步驟只能用于Windows 95 和 Windows NT(R) 4.0 系統(tǒng)。在計(jì)算機(jī)的“任務(wù)欄 ”中,單擊“啟動(dòng) ”。在 “設(shè)置 ”項(xiàng)中,
4、單擊“控制面板雙擊“Internet圖標(biāo)。在 “ Internet 屬性 ”對(duì)話框中,單擊“連接 ”。在 “代理服務(wù)器”中,確認(rèn)選中了“通過(guò)代理服務(wù)器連接”復(fù)選框。如果選中了,則單擊 “設(shè)置 ”。 在該對(duì)話框中可以找到能夠用于多種協(xié)議的代理服務(wù)器的名稱。如果沒(méi)有定義代理服務(wù)器,請(qǐng)與系統(tǒng)管理員聯(lián)系,以獲得可用的代理服務(wù)器。如果希望使用對(duì)話框中未列出的代理服務(wù)器,可將AccessType 屬性設(shè)置為icNamedProxy(2)。然后將Proxy 屬性設(shè)置為代理服務(wù)器的名稱,如下面的代碼所示:Inet1.Proxy = "myProxyName"Inet1.AccessType
5、 = icNamedProxy另一方面,如果希望使用缺省代理服務(wù)器(由計(jì)算機(jī)的注冊(cè)表決定),則可以忽略Proxy 屬性,而只需將AccessType 設(shè)置為 icUseDefault (0)。AccessType 的設(shè)置值在下表中列出:常數(shù) 值 描述icUseDefault 0 (缺省)用作缺省。控件使用注冊(cè)表中的缺省設(shè)置訪問(wèn)Internet。icDirect 1直接連接Internet。該控件可直接連接到Internet。icNamedProxy 2 命名的代理服務(wù)器。指示該控件使用Proxy 屬性確定的代理服務(wù)器。調(diào)用 OpenURL 方法設(shè)置完 AccessType 屬性后,最基本的操作
6、就是用合法的URL 調(diào)用 OpenURL 方法。使用OpenURL 方法時(shí), 操作所得到的結(jié)果將依賴于目標(biāo)URL。 例如下面的URL 將返回在中找到的 HTML 文檔:'名為" Textl的'TextBox控件保存了'該方法的結(jié)果。Internet 傳輸'控件的名稱是“ Inet1。 ”Text1.Text = Inet1.OpenURL("")作為結(jié)果,TextBox 控件保存了HTML 源碼,它看上去應(yīng)和下圖顯示的相似:在這種情況下,缺省操作返回的是URL 定位的 HTML 文檔。然而,如果URL 被改為指向文本文件,則將獲得實(shí)
7、際的文件。例如,下面的代碼:Text1.Text = Inet1. _OpenURL("")將獲得文件的實(shí)際文本,如下所示:提示 在使用 OpenURL 或 Execute 方法時(shí), 不需要設(shè)置Protocol 屬性。 Internet Transfer 控件會(huì)自動(dòng)按URL 的協(xié)議部分確定的協(xié)議來(lái)設(shè)置。最后,可以用包含附加數(shù)據(jù)的URL 調(diào)用 OpenURL 方法。例如,很多Web 站點(diǎn)提供了搜索數(shù)據(jù)庫(kù)的能力。要搜索數(shù)據(jù)庫(kù),則需要在發(fā)送的URL 中包含搜索條件。例如下面的代碼用條件"find=Maui調(diào)用名為"search.exeBg搜索引擎。Dim st
8、rURL As String strURL = _ " xe?find=mauiText1.Text = Inet1.OpenURL(strURL)如果搜索引擎找到了符合條件的內(nèi)容,將合成一個(gè)HTML 文檔并攜帶適當(dāng)?shù)男畔⒎祷亍S?OpenURL 方法保存到文件如果需要將通過(guò)OpenURL 方法獲取的數(shù)據(jù)保存到文件,可以使用Open、 Put 和 Close 語(yǔ)句,如下面的代碼所示。該示例先將獲得的二進(jìn)制文件傳入Byte 數(shù)組,然后將該數(shù)據(jù)保存到磁盤中:Dim strURL As StringDim bData() As Byte '數(shù)據(jù)變量Dim intFile As In
9、teger ' 可用文件變量strURL = _"/Softlib.e xe"intFile = FreeFile() '將intFile 設(shè)置為未使用的文件' OpenURL 方法的結(jié)果首先傳入Byte 數(shù)組,'然后將Byte 數(shù)組保存到磁盤。bData() = Inet1.OpenURL(strURL, icByteArray)Open "C:TempSoftlib.e xe" For Binary Access Write _As #intFilePut #intFile, , bData()Close #intFi
10、le可用類似的過(guò)程將文本文件寫入磁盤中,不同的只是不再需要Byte 數(shù)組了,數(shù)據(jù)可以直接保存到文件中:Dim strURL As String 'URL 字符串Dim intFile As Integer ' 可用文件變量IntFile = FreeFile()strURL = ""Open "c:tempMSsource.txt" For Output _As #IntFileWrite #IntFile, Inet1.OpenURL(strURL)Close #IntFile同步和異步傳輸OpenURL 方法以同步方式傳輸數(shù)據(jù)。在這里
11、,同步指的是傳輸操作未完成之前,不能執(zhí)行其它過(guò)程。這樣數(shù)據(jù)傳輸就必須在執(zhí)行其它代碼之前完成。而 Execute 方法以異步方式傳輸數(shù)據(jù)。在調(diào)用 Execute 方法時(shí), 傳輸操作與其它過(guò)程無(wú)關(guān)。這樣,在調(diào)用Execute 方法后,在后臺(tái)接收數(shù)據(jù)的同時(shí),即可同時(shí)執(zhí)行其它代碼。對(duì) Internet Transfer 控件的使用者來(lái)說(shuō)這意味著什么?簡(jiǎn)單地說(shuō),用OpenURL 方法能夠直接得到可保存到磁盤的數(shù)據(jù)流(如上所述),或者直接在TextBox 控件中閱覽(如果數(shù)據(jù)是文本格式的)。從另一方面說(shuō),如果用Execute 方法獲取數(shù)據(jù),則必須用StateChanged 事件監(jiān)視該控件的連接狀態(tài)。當(dāng)達(dá)到
12、適當(dāng)?shù)臓顟B(tài)時(shí),調(diào)用 GetChunk 方法從控件的緩沖區(qū)獲取數(shù)據(jù)。下面更詳細(xì)地討論這一操作。在 FPT 協(xié)議中使用Execute 方法Execute 方法具有四個(gè)參數(shù):url 、 operation 、 data 和 requestHeaders。 FTP 操作只用到了operation 參數(shù)和 url 參數(shù),其中后者是可選的。例如,要從遠(yuǎn)程計(jì)算機(jī)中得到一個(gè)文件,可用下面的代碼:Inet1.Execute "FTP:/", _"GET disclaimer.txt C:TempDisclaimer.txt"如果正在用FTP 從匿名 FTP 服務(wù)器中獲取文
13、件,就應(yīng)熟悉在服務(wù)器目錄樹中漫游的特定命令,以及將其中文件獲取到本地的硬盤中的命令。例如,要用FPT 協(xié)議改變目錄,應(yīng)使用帶有希望改變到的目錄路徑的“C怖令。對(duì)絕大多數(shù)通用操作,如將文件傳入服務(wù)器,以及從服務(wù)器獲取文件,Internet 傳輸控件在Execute方法中使用了(與FTP)相同或相近的命令。例如,下面的代碼將“C嗡令作為Execute 方法的參數(shù)以改變路徑:'txtURL 文本框包含了要打開的路徑。'txtRemotePath 文本框包含了要改變到的路徑。Inet1.Execute txtURL.Text, "CD " & txtRemo
14、tePath.Text注意 在 Execute 方法中使用FTP 命令時(shí),沒(méi)有用到data 和 requestHeaders 參數(shù)。所有的操作和它們的參數(shù)都在operation 參數(shù)中作為字符串進(jìn)行傳遞;參數(shù)之間用空格進(jìn)行分隔。在下面的描述中,不要把"filel和'“file2項(xiàng)與data和requestHeaders參數(shù)搞混。FTP 操作的語(yǔ)法是:operationName file1 file2例如, 要獲取文件,在下面的代碼中包含了操作的名稱( “獲取 ”) , 以及該操作所需的兩個(gè)文件名:'得到名為"Disclaimer.8的文件,并將其復(fù)制到
15、9; C:TempDisclaimer.txt 。Inet1.Execute, _"GET Disclaimer.txt C:TempDisclaimer.txt"下表列出了該控件支持的FTP 命令:操作 描述 示例CD file1 改變目錄。改變到由file1 指定的目錄中。Execute , "CD docsmydocs"CDUP 改變到父目錄。功能與“ CD .相同。. ” Execute , "CDUP"DELETE file1 刪除由 file1 指定的文件。Execute , "DELETE discard.tx
16、t"DIR file1 在由 file1 指定的目錄中查找。如果沒(méi)有指定file1 目錄, 則查找當(dāng)前工作目錄。使用 GetChunk 方法返回?cái)?shù)據(jù)。Execute , "DIR /mydocs"GET file1 file2 獲取由 file1 指定的遠(yuǎn)程文件,并創(chuàng)建由file2 指定的新的本地文件。Execute ,"GET getme.txt C:gotme.txt"MKDIR file1 創(chuàng)建由 file1 指定的目錄。是否能夠成功地執(zhí)行,取決于用戶在遠(yuǎn)程主機(jī)上的權(quán)限。 Execute , "MKDIR /myDir"
17、;PUT file1 file2 將由 file1 指定的本地文件,復(fù)制到由file2 指定的遠(yuǎn)程主機(jī)文件中。Execute , _"PUT C:putme.txt /putme.txt"PWD 打印工作目錄。返回當(dāng)前目錄的名稱。用GetChunk 方法返回?cái)?shù)據(jù)。Execute , "PWD"QUIT 結(jié)束當(dāng)前連接。Execute , "QUIT"RECV file1 file2 與 GET 相同。 Execute , _ "RECV getme.txt C:gotme.txt"RENAME file1 file2
18、 文件重命名。是否能夠成功地執(zhí)行,取決于用戶在遠(yuǎn)程主機(jī)上的權(quán)限。Execute ,"RENAME old.txt new.txt"RMDIR file1 刪除目錄。是否能夠成功地執(zhí)行,取決于用戶在遠(yuǎn)程主機(jī)上的權(quán)限。Execute ,"RMDIR oldDir"SEND file1 將文件復(fù)制到FTP 站點(diǎn)。 (與 PUT 相同) Execute , _"SEND C:putme.txt /putme.txt"SIZE file1 返回由 file1 指定文件的大小。Execute "SIZE /largefile.txt&q
19、uot;重點(diǎn) 如果代理服務(wù)器是CERN 代理服務(wù)器,就不允許使用直接的FTP 連接 (使用 Execute方法) 。 在這種情況下,要獲得文件,則需使用帶Open、 Put 和 Close 語(yǔ)句的 OpenURL 方法,就象前面“用 OpenURL 方法保存到文件”提到的那樣。還可以用OpenURL 方法得到目錄列表,即將目標(biāo)目錄作為URL并調(diào)用該方法。在 HTTP 協(xié)議上使用Execute 方法HTTP 協(xié)議允許客戶機(jī)用GET、 HEAD、 POST 和 PUT 命令向服務(wù)器請(qǐng)求數(shù)據(jù)。下表中列出了這些操作:操作 描述 示例GET 獲取 url 中命名的文件。Execute "&qu
20、ot; & _"/default.htm", "GET"HEAD 只獲取 URL 屬性中命名的文件的文件標(biāo)頭。Execute , "HEAD"POST提供附加數(shù)據(jù),以支持向遠(yuǎn)程主機(jī)的請(qǐng)求。Execute , "POST", strFormDataPUT 替換指定的URL 中的數(shù)據(jù)。Execute , "PUT", "replace.htm"通用網(wǎng)關(guān)接口和Execute 方法很多 World Wide Web 站點(diǎn)提供了搜索數(shù)據(jù)庫(kù)的能力。它是通過(guò)HTTP 協(xié)議用通用網(wǎng)關(guān)
21、接口 (CGI) 發(fā)送查詢的能力完成的。在這里不再討論CGI 了。 然而, 如果對(duì) CGI 比較了解,就可用 Execute 方法構(gòu)造一個(gè)應(yīng)用程序模擬World Wide Web 站點(diǎn)的行為。例如, 下面的代碼給出了典型的CGI 查詢字符串:xe?find=Hangzhou如下所示,用Execute 方法也可以發(fā)送同樣的查詢:Dim strURL As String, strFormData As StringstrURL = "/ xe"strFormData = "find=Hangzhou"Inet1.E xecute strURL, "
22、POST", strFormData如果希望得到從服務(wù)器發(fā)回的結(jié)果(如上面的示例所示),就必須使用GetChunk 方法以獲取作為結(jié)果的HTML 文檔。在 State 事件中使用GetChunk 方法在從遠(yuǎn)程計(jì)算機(jī)下載數(shù)據(jù)時(shí),將建立異步連接。例如,在Execute 方法中使用“獲取 ”操作,將 使 服 務(wù) 器 獲 取 請(qǐng) 求 的 文 件 。 當(dāng) 獲 取 了 整 個(gè) 文 件 之 后 , State 參 數(shù) 將 返 回 icResponseCompleted (12)。在這時(shí)候,就可以用GetChunk 方法從緩沖區(qū)中獲取數(shù)據(jù)了。下面的示例中給出了這種情況:Private Sub Ine
23、t1_StateChanged(ByVal State As Integer)Dim vtData As Variant ' 數(shù)據(jù)變量。Select Case State'.沒(méi)有給出其它情況。Case icResponseCompleted '12'打開文件用于寫入。Open txtOperation For Binary Access _Write As #intFile'得到第一個(gè)大塊。注意:指定Byte 數(shù)組' (icByteArray) 以獲取二進(jìn)制文件。vtData = Inet1.GetChunk(1024, icString)Do While LenB(vtData) > 0Put #intFile, , vtData'得到下一大塊。vtData = Inet1.GetChunk(1024, icString)LoopPut #intF
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑料反射膜材料考核試卷
- 教育技術(shù)支持系統(tǒng)構(gòu)建考核試卷
- 互助社與土地整治合作模式考核試卷
- 核心競(jìng)爭(zhēng)力構(gòu)建考核試卷
- 醫(yī)用防護(hù)服材料舒適性改進(jìn)技術(shù)考核試卷
- 計(jì)劃生育協(xié)會(huì)工作情況總結(jié)
- 紅軍長(zhǎng)征課件
- 計(jì)劃生育建議
- 交通安全發(fā)言稿13篇
- 畢業(yè)拍照活動(dòng)方案
- 空客320飛機(jī)艙門位置盛秀華課件
- 壓床機(jī)構(gòu)設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書-機(jī)械原理課程設(shè)計(jì)Word版
- 通信建設(shè)工程質(zhì)量和安全生產(chǎn)監(jiān)督檢查表最新文檔
- 《公司理財(cái)》期末考試題庫(kù)(附答案)
- 腦卒中的三級(jí)預(yù)防健康教育
- 醫(yī)學(xué)高級(jí)職稱評(píng)審答辯報(bào)告PPT模板
- DB4451-T 1-2021《地理標(biāo)志產(chǎn)品+鳳凰單叢(樅)茶》-(高清現(xiàn)行)
- 消防管理檢查評(píng)分表
- 無(wú)人機(jī)駕駛員證照考試培訓(xùn)題庫(kù)與答案
- JJG 1149-2022 電動(dòng)汽車非車載充電機(jī)(試行)
- 播音主持重音的教學(xué)課件
評(píng)論
0/150
提交評(píng)論