【发布时间】:2011-10-07 20:40:24
【问题描述】:
使用下面的代码,我在Using response as.. 继续收到“无法连接到远程服务器”错误。我不太确定出了什么问题或在哪里寻求帮助。 .NET 中的 FTP 似乎很少使用。
好的,第二个愚蠢的问题。 EnableSsl != Sftp?
Dim FTPrequest As FtpWebRequest = DirectCast(FtpWebRequest.Create(New Uri("ftp://176.31.212.85/dev/shm/Minecraft/world/players/Drise.dat")), FtpWebRequest)
FTPrequest.EnableSsl = True
FTPrequest.Credentials = New System.Net.NetworkCredential("user", "pass")
FTPrequest.Method = Ftp.DownloadFile
FTPrequest.UseBinary = True
FTPrequest.KeepAlive = False
Dim ftpstream As IO.Stream = Nothing
Using response As System.Net.FtpWebResponse = CType(FTPrequest.GetResponse(), System.Net.FtpWebResponse)
Using responseStream As IO.Stream = response.GetResponseStream
'loop to read & write to stream
Dim buffer(2047) As Byte
Dim read As Integer = 0
Do
read = responseStream.Read(buffer, 0, buffer.Length)
ftpstream.Write(buffer, 0, read)
Loop Until read = 0 'see Note(1)
responseStream.Close()
End Using
response.Close()
End Using
【问题讨论】:
-
您检查过防火墙、安全策略等外部因素吗?
-
我使用相同的凭据与 FileZilla 连接,并且连接良好。如果这就是你要问的。
-
有点。 Windows 中的防火墙可以根据应用程序的名称进行区分,例如,ftp 有被动和主动两种模式,可以访问不同的端口,因此以不同的方式触发防火墙。