【问题标题】:VB.NET 2010 - FTPs TLS Explicit ModeVB.NET 2010 - FTPs TLS 显式模式
【发布时间】:2020-07-27 03:35:12
【问题描述】:

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

服务器: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

【问题讨论】:

  • 你有没有考虑过使用一个已经这样做的库,比如Martin Prikryl's WinSCP?通过内置类的 FTP 对我来说总是让人感到痛苦,因为它们以“孤立的请求/响应”为中心,但 FTP 有时更像是终端会话
  • 我明白你在说什么,我确实使用 WinSCP 作为我的主要 FTP 客户端。但是,老实说,我不知道如何在我的应用程序中实现 WinSCP。
  • 我在评论中添加了nuget 包的链接;您安装它(在解决方案资源管理器中右键单击项目并选择管理 Nuget 包)然后转到 nuget 页面上的“Project Site”链接;从那里你会看到examples如何使用它
  • 谢谢你,在VS 2010中安装有点困难。但是,我安装了它。现在我只需要了解如何使用他们的示例代码,同时将其修改为带有 TLS 的 FTP,而不是带有 SSH 的 SFTP。有什么想法吗?

标签: vb.net ssl ftp ftps


【解决方案1】:

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

他们的导游很棒!

这适用于所有当前/未来的程序员! 在 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。 在出现的新窗口中,选择.NET assembly code 选项卡。然后确保在Language 下拉列表中选择了您的编程语言。 就在那里!它将显示 FTPS 服务器的会话连接代码,只需将其复制并粘贴到 Visual Studio 中即可。

从那里,您必须完成其余的工作来修改他们的示例代码,并将其与 WinSCP 提供给您的会话连接代码结合起来。

编码愉快!

【讨论】:

    猜你喜欢
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多