VB.NET 2010-FTP TLS显式模式



上下文:我正在尝试制作一个应用程序,该应用程序将在需要时以TLS Explicit模式在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 + "DesktopTest_File.txt")
Dim Upload As System.IO.Stream = UPReq.GetRequestStream()
Upload.Write(file, 0, file.Length)
Upload.Close()
Upload.Dispose()
End Sub

对于将来阅读本文的人,请使用WinSCP!

他们的导游太棒了!

这是为所有当前/未来的程序员准备的!在Visual Studio中,转到Tools > Extension Manager...,然后安装NuGet Package Manager,重新启动Visual Studio。

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

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

之后,您可以对连接、上传和下载的功能进行编码。使用此处提供的示例

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

从那里开始,您将不得不修改他们的示例代码,并将其与WinSCP提供的会话连接代码相结合。

快乐编码!