【发布时间】: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。有什么想法吗?