利用Internet傳輸控件來(lái)使用FTP

字號(hào):

現(xiàn)在是該設(shè)置控件屬性的時(shí)候了:
    將URL屬性設(shè)置為FTP服務(wù)器的URL。
    將用戶(hù)名(Username)和密碼(Password)的屬性設(shè)置為合法的用戶(hù)ID和密碼,這也是FTP所要用到的。(如果你將這些屬性留成空白,那么用戶(hù)名屬性就會(huì)被設(shè)置為匿名(anonymous),而密碼屬性會(huì)被設(shè)置為一個(gè)缺省的密碼。)
    將協(xié)議(Protocol)屬性設(shè)置為icFTP,這是訪(fǎng)問(wèn)FTP所需要的。設(shè)置一下RequestTimeout,以防止在服務(wù)器沒(méi)有相應(yīng)的時(shí)候控件掛起。例如:
    With Inet1
    .URL = "ftp://myftpserver"
    .UserName = "myusername"
    .Password = "mypassword"
    .Protocol = icFTP
    .RequestTimeout = 120
    End With
    要進(jìn)行GET或者PUT操作,就要調(diào)用Execute方法。第一個(gè)自變量是可選的,它允許你指定URL。第二個(gè)自變量能夠讓你指定要進(jìn)行的操作。當(dāng)GET操作被調(diào)用的時(shí)候,你必須傳遞被請(qǐng)求文件的名稱(chēng)和要?jiǎng)?chuàng)建的本地文件名。當(dāng)PUT操作被調(diào)用的時(shí)候,要被上傳的文件就會(huì)被指定,然后就在FTP服務(wù)器上創(chuàng)建這個(gè)文件。
    Call Inet1.Execute(, "GET ftpfile.txt c:\temp\ftpfile.txt")
    Call Inet1.Execute(, "PUT c:\temp\ftpfile.txt ftpfile2.txt")
    Execute方法是異步工作的,所以你可以使用StateChanged事件來(lái)監(jiān)控這項(xiàng)操作的進(jìn)展情況。State自變量會(huì)是一個(gè)StateConstant。你可以使用對(duì)象瀏覽器(Object Browser)或者在線(xiàn)幫助(Online Help)來(lái)查看State所有合法的值。
    Private Sub Inet1_StateChanged(ByValState As Integer)
    Debug.PrintState
    End Sub
    如果State等于icError,那么你可以通過(guò)ResponseCode和ResponseInfo屬性來(lái)獲取錯(cuò)誤信息。
    Debug.Print Inet1.ResponseCode
    Debug.Print Inet1.ResponseInfo