VB inet控件下载ftp,每次下下来的都是0db的空文件
Private Sub Command1_Click()Inet1.Protocol = icFTP
Inet1.URL = "ftp://"
Inet1.RemotePort = 21
Inet1.UserName = "a**"
Inet1.Password = "**"
Label3.Caption = "正在下载...." '格式: inet1.execute , "get 远程文件 本地文件",注意空格
Inet1.Execute , "GET /d:/test/temp.txt C:\mkk.txt"
Do While Inet1.StillExecuting
DoEvents
Loop
Label3.Caption = "下载成功"
Inet1.Cancel
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Select Case State
Case 0
Text1.Text = "无状态"
Case 1
Text1.Text = "正在查询所指定的主机的IP地址"
Case 2
Text1.Text = "成功地找到所指定的主机的IP地址"
Case 3
Text1.Text = "正在与主机连接"
Case 4
Text1.Text = "已与主机连接成功"
Case 5
Text1.Text = "正在向主机发送请求"
Case 6
Text1.Text = "发送请求已成功"
Case 7
Text1.Text = "在接收主机的响应"
Case 8
Text1.Text = "成功地接收到主机的响应"
Case 9
Text1.Text = "正在解除与主机的连接"
Case 10
Text1.Text = "已成功地与主机解除了连接"
Case 11
Text1.Text = "与主机通讯时出现了错误"
Case 12
Text1.Text = "请求已经完成,并且所有数据均已接收到"
End Select
End Sub
VERSION 5.00
Object = "{48E59290-9880-11CF-9754-00AA00C00908}#1.0#0"; "MSINET.OCX"
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
ClientHeight = 3060
ClientLeft = 45
ClientTop = 330
ClientWidth = 4035
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3060
ScaleWidth = 4035
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "下载"
Height = 495
Left = 1440
TabIndex = 0
Top = 1320
Width = 1215
End
Begin InetCtlsObjects.Inet Inet1
Left = -15
Top = -15
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim ExeStr As String
Dim Done As Boolean
Private Sub cmd(cmdstr As String)
Do
If Inet1.StillExecuting = False Then Exit Do
Loop
ExeStr = cmdstr
Done = False
Debug.Print ExeStr; "="
Inet1.Execute , ExeStr
Do
DoEvents
If Done Then Exit Do
Loop
End Sub
Public Sub ReadNewDat(dat As String)
Inet1.URL = "ftp://192.168.1.123"
Inet1.UserName = "username"
Inet1.Password = "password"
'cmd "PWD"
'cmd "CD /data"
'cmd "DIR"
cmd "GET " + vox + ".dat " + App.Path + "\" + dat + ".dat"
cmd "QUIT"
End Sub
Private Sub Command1_Click()
Command1.Enabled = False
ReadNewDat ("20111109")
Command1.Enabled = True
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim intFile As Integer
Dim vtData() As Byte
Dim str As String
'On Error GoTo ISCerr
Debug.Print "State="; State,
Select Case State
Case 0
Debug.Print "icNone"
Case 1
Debug.Print "icHostResolvingHost"
Case 2
Debug.Print "icHostResolved"
Case 3
Debug.Print "icConnecting"
Case 4
Debug.Print "icConnected"
Case 5
Debug.Print "icRequesting"
Case 6
Debug.Print "icRequestSent"
Case 7
Debug.Print "icReceivingResponse"
Case 8
Debug.Print "icResponseReceived"
If Left(ExeStr, 2) = "CD" Then Done = True
Case 9
Debug.Print "icDisconnecting"
Case 10
Debug.Print "icDisconnected"
Done = True
Case 11
Debug.Print "icError of [" + ExeStr + "]="; Inet1.ResponseInfo
Done = True
Case 12
Debug.Print "icResponseCompleted----------------"
Do
str = Inet1.GetChunk(1024, icString)
If LenB(str) = 0 Then Exit Do
Debug.Print str
Loop
Done = True
End Select
Exit Sub
ISCerr:
Resume Next
End Sub
补充:VB , 网络编程