2

尝试使用下一个 VB.NET 代码将文件上传到 FTP 服务器时出现错误:

Dim miUri As String = "ftp://ftp.mydomain.com/folder/file.jpg"
Dim miRequest As Net.FtpWebRequest = Net.WebRequest.Create(miUri)
miRequest.Credentials = New Net.NetworkCredential("user", "pass")
miRequest.Method = Net.WebRequestMethods.Ftp.UploadFile
Try
    Dim bFile() As Byte = System.IO.File.ReadAllBytes("C:\carpeta\fichero.jpg")
    Dim miStream As System.IO.Stream = miRequest.GetRequestStream()
    miStream.Write(bFile, 0, bFile.Length)
    miStream.Close()
    miStream.Dispose()
Catch ex As Exception
    Throw New Exception(ex.Message & ". El Archivo no pudo ser enviado.")
End Try

ex.Message = "远程服务器上的错误:227 进入被动模式 (x,x,x,x,21,183).." ex.InnerException.Message = System.Net.Sockets.SocketException = {“尝试对无法访问的网络 xxxx:5557 进行套接字操作”}

引发异常的代码行是:

Dim miStream As System.IO.Stream = miRequest.GetRequestStream()

要点:

  • 如果我尝试通过 FileZilla 或其他 FTP 客户端连接,我可以毫无问题地连接。

  • 如果我禁用防病毒软件,我可以毫无问题地连接。

  • 在有人说与防火墙有关的事情之前...

如果杀毒软件已打开,并且我通过 FILEZILLA 连接,我可以毫无问题地连接。

问题出在哪里?¿ 我必须在我的代码中做什么才能让它在防病毒软件开启的情况下运行?如果 FileZilla 可以,我也必须能够...

非常感谢您的回复。问候,

4

2 回答 2

4

抱歉这个问题。

最后是因为我安装了防病毒版本。

即使将该应用程序作为受信任的应用程序,防病毒软件仍会继续阻止该应用程序。

我安装了相同防病毒软件的另一个版本,一切正常。

问候。

于 2013-05-20T15:57:53.657 回答
0

“尝试对无法访问的网络 xxxx:5557 进行套接字操作”

表示无法访问服务器。有多种原因可能导致此问题。

  1. 服务器已关闭。
  2. 您的计算机正在阻止服务器连接传入/传出(防火墙)
  3. 不可靠的互联网访问
  4. 您错误配置了连接字符串(服务器字符串)

从本质上讲,大多数用户会遇到的问题是他们的防火墙阻止了对其 FTP 连接请求的访问。要解决此问题,您必须允许应用程序通过您的文件墙。

-干杯

于 2015-02-22T23:18:09.060 回答