XP系统中,状态总是icReceivingResponse 最后因超时下载失败
Option ExplicitPrivate m_GettingDir As Boolean
Private Sub AddMessage(ByVal msg As String)
txtResults.Text = txtResults.Text & vbCrLf & msg
txtResults.SelStart = Len(txtResults.Text)
End SubPrivate Sub cmdDownload_Click()
Dim host_name As String Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Get " & txtRemoteFile.Text & " " & txtLocalFile.TextEnd SubPrivate Sub cmdUpload_Click()
Dim host_name As String
Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Put " & txtLocalFile.Text & " " & txtRemoteFile.Text
End SubPrivate Sub inetFTP_StateChanged(ByVal State As Integer)
Select Case State
Case icError
AddMessage "Error: " & _
" " & inetFTP.ResponseCode & vbCrLf & _
" " & inetFTP.ResponseInfo
Case icNone
AddMessage "None"
Case icConnecting
AddMessage "连接"
Case icConnected
AddMessage "连接"
Case icDisconnecting
AddMessage "断开"
Case icDisconnected
AddMessage "断开"
Case icRequestSent
AddMessage "请求发送"
Case icRequesting
AddMessage "请求"
Case icReceivingResponse
AddMessage "接收响应"
Case icRequestSent
AddMessage "请求发送"
Case icResponseReceived
AddMessage "收到答复"
Case icResolvingHost
AddMessage "解析主机"
Case icHostResolved
AddMessage "主机解析"Case icResponseCompleted
AddMessage inetFTP.ResponseInfo If m_GettingDir Then
Dim txt As String
Dim chunk As Variant
m_GettingDir = False
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Do While Len(chunk) > 0
txt = txt & chunk
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Loop AddMessage "----------"
AddMessage txt
End If Case Else
AddMessage "State = " & Format$(State)
End Select Enabled = True
MousePointer = vbDefault
End Sub
Option ExplicitPrivate m_GettingDir As Boolean
Private Sub AddMessage(ByVal msg As String)
txtResults.Text = txtResults.Text & vbCrLf & msg
txtResults.SelStart = Len(txtResults.Text)
End SubPrivate Sub cmdDownload_Click()
Dim host_name As String Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Get " & txtRemoteFile.Text & " " & txtLocalFile.TextEnd SubPrivate Sub cmdUpload_Click()
Dim host_name As String
Enabled = False
MousePointer = vbHourglass
txtResults.Text = "Working"
txtResults.SelStart = Len(txtResults.Text)
DoEvents
host_name = txtHost.Text
If LCase$(Left$(host_name, 6)) <> "ftp://" Then host_name = "ftp://" & host_name
inetFTP.URL = host_name inetFTP.UserName = txtUserName.Text
inetFTP.Password = txtPassword.Text
inetFTP.Execute , "Put " & txtLocalFile.Text & " " & txtRemoteFile.Text
End SubPrivate Sub inetFTP_StateChanged(ByVal State As Integer)
Select Case State
Case icError
AddMessage "Error: " & _
" " & inetFTP.ResponseCode & vbCrLf & _
" " & inetFTP.ResponseInfo
Case icNone
AddMessage "None"
Case icConnecting
AddMessage "连接"
Case icConnected
AddMessage "连接"
Case icDisconnecting
AddMessage "断开"
Case icDisconnected
AddMessage "断开"
Case icRequestSent
AddMessage "请求发送"
Case icRequesting
AddMessage "请求"
Case icReceivingResponse
AddMessage "接收响应"
Case icRequestSent
AddMessage "请求发送"
Case icResponseReceived
AddMessage "收到答复"
Case icResolvingHost
AddMessage "解析主机"
Case icHostResolved
AddMessage "主机解析"Case icResponseCompleted
AddMessage inetFTP.ResponseInfo If m_GettingDir Then
Dim txt As String
Dim chunk As Variant
m_GettingDir = False
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Do While Len(chunk) > 0
txt = txt & chunk
chunk = inetFTP.GetChunk(1024, icString)
DoEvents
Loop AddMessage "----------"
AddMessage txt
End If Case Else
AddMessage "State = " & Format$(State)
End Select Enabled = True
MousePointer = vbDefault
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货