VB.NET 2010 - FTP TLS 显式模式

VB.NET 2010 - FTPs TLS Explicit Mode

上下文:我正在尝试制作一个应用程序,它将(在需要时)以 TLS 显式模式在 FTP 服务器上为用户存储应用程序配置文件。

服务器:Windows

的 FileZilla 服务器

我还没有弄清楚 VB 中的加密和认证处理。 已经为此工作了一个星期,并放弃一切重新开始。

从头开始,这就是我所拥有的。 任何帮助将不胜感激!

谢谢!

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim UPReq As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://127.0.0.1/app/Test_File.txt"), System.Net.FtpWebRequest)
    UPReq.Credentials = New System.Net.NetworkCredential("FTPusername", "FTPpassword")
    'UPReq.ClientCertificates
    UPReq.EnableSsl = True
    UPReq.Method = System.Net.WebRequestMethods.Ftp.UploadFile
    Dim file() As Byte = System.IO.File.ReadAllBytes("C:\Users\" + Environment.UserName + "\Desktop\Test_File.txt")
    Dim Upload As System.IO.Stream = UPReq.GetRequestStream()
    Upload.Write(file, 0, file.Length)
    Upload.Close()
    Upload.Dispose()
End Sub

对于以后阅读本文的任何人,请使用 WinSCP!

他们的向导很棒!

这是给所有 current/future 程序员的! 在 Visual Studio 中,转到 Tools > Extension Manager...,然后安装 NuGet Package Manager,重新启动 Visual Studio。

下载并安装 WinSCP,然后从 HERE 下载 WinSCP NuGet 包。 在 Visual Studio 中,右键单击 Solution Explorer 中的项目,然后单击 Manage NuGet Packages...,然后单击左下角的 Settings。 添加源(下载 WinSCP NuGet 包的文件夹)然后单击 OK

接下来,您会看到 WinSCP .NET assembly 出现,点击它并点击 Install。 然后确保将 Imports WinSCP 添加到项目代码的顶部。

之后您可以编写连接、上传和下载功能。 使用他们提供的示例 HERE

重要提示:使用 WinSCP 连接到您的 FTPS 服务器,然后单击 Session 选项卡并单击 Generate session URL/code。 在出现的新 window 中,select .NET assembly code 选项卡。然后确保您的编程语言在 Language 下拉列表中 selected。 在那里!它将显示您的 FTPS 服务器的会话连接代码,只需将其复制并粘贴到 Visual Studio.

从那里开始,您将需要做剩下的工作来修改他们的示例代码,并将其与 WinSCP 给您的会话连接代码结合起来。

编码愉快!