通过C#Net发送时的SFTP或FTPS
我读了这篇文章: 尽管两者的目标都是 同样的目的。SFTP使用单通道进行传输和传输 接收所有相关数据,而FTPS使用另一个 是为数据动态决定的。FTP在运行时经常出现问题 通过防火墙,因为它不知道正在访问的端口 已由数据使用,并且无法允许通过端口的通信。FTPS 以文本格式发送消息,允许人们阅读日志和 确定会话期间发生了什么。这是不可能的 SFTP,因为消息不是文本,而是二进制的 阅读更多:FTP和SFTP之间的差异| FTPS与SFTP 我不想做任何假设,因为如果我错了,这只会让我的工作更困难,但当我通过C#/.Net4发送文件时,如下所示:通过C#Net发送时的SFTP或FTPS,c#,sftp,ftps,C#,Sftp,Ftps,我读了这篇文章: 尽管两者的目标都是 同样的目的。SFTP使用单通道进行传输和传输 接收所有相关数据,而FTPS使用另一个 是为数据动态决定的。FTP在运行时经常出现问题 通过防火墙,因为它不知道正在访问的端口 已由数据使用,并且无法允许通过端口的通信。FTPS 以文本格式发送消息,允许人们阅读日志和 确定会话期间发生了什么。这是不可能的 SFTP,因为消息不是文本,而是二进制的 阅读更多:FTP和SFTP之间的差异| FTPS与SFTP 我不想做任何假设,因为如果我错了,这只会让我的工作更困
var request = (FtpWebRequest) WebRequest.Create(FtpUrl + filename);
request.Method = WebRequestMethods.Ftp.UploadFile;
var secureString = new SecureString();
foreach (var b in Encoding.Default.GetBytes(FtpPassword))
secureString.AppendChar((char) b);
request.Credentials = new NetworkCredential(FtpUsername, secureString);
request.EnableSsl = true;
这是SFTP还是FTPS?由于启用SSL,我假设FTPS如文章所示
如果不是SFTP,我可以改为SFTP吗?我在通过防火墙发送时遇到问题
谢谢 SFTP is使用SSH传输文件。如果在远程计算机上运行ssh,则可以将其更改为此。不过,我不确定C#是否支持它。根据这一点:答案是否定的 FTPS正在将SSL添加到FTP。有点像HTTPS是HTTP之上的SSL 你的代码肯定在使用FTPS
您的防火墙问题可能在这里得到解释:我就是这么想的,tyvm:)C#没有内置的对SFTP的支持,但是有几个第三方库实现了它,有些是免费的。