C# 4.0 SSH.NET FTP客户端和日志记录
我有一个非常基本的例程,可以使用SSH.NET库将文件上传到安全的FTP站点。我正在使用库外的SftpClient对象。一切正常,我没有收到任何异常。然而,FTP另一端的公司表示,他们没有收到一些文件。它看起来是随机的,每次我手动验证文件是否在FTP服务器上时,它们都被删除了。所以我怀疑他们这边有什么问题,因为在向其他客户发送了数千个文件之后,除了他们之外,从来没有丢失过一个文件 所以…我一直在寻找从SftpClient中注销的选项,这样我就可以证明文件实际上已经上传了 有没有办法让FTP命令从库中注销?我正在寻找客户端和服务器响应,如以下从web上窃取的示例:C# 4.0 SSH.NET FTP客户端和日志记录,c#-4.0,logging,sftp,ssh.net,C# 4.0,Logging,Sftp,Ssh.net,我有一个非常基本的例程,可以使用SSH.NET库将文件上传到安全的FTP站点。我正在使用库外的SftpClient对象。一切正常,我没有收到任何异常。然而,FTP另一端的公司表示,他们没有收到一些文件。它看起来是随机的,每次我手动验证文件是否在FTP服务器上时,它们都被删除了。所以我怀疑他们这边有什么问题,因为在向其他客户发送了数千个文件之后,除了他们之外,从来没有丢失过一个文件 所以…我一直在寻找从SftpClient中注销的选项,这样我就可以证明文件实际上已经上传了 有没有办法让FTP命令从
% ftp nordsieck.cs.colorado.edu
Connected to nordsieck.cs.colorado.edu.
220 nordsieck FTP server (Version 5.53 Tue Aug 25 10:46:12 MDT 1992) ready.
Name (nordsieck.cs.colorado.edu:yourlogin): yourlogin
331 Password required for yourlogin.
Password:
230 User yourlogin logged in.
ftp> cd HPSC/exercises
250 CWD command successful.
ftp> ls
200 PORT command successful.
550 No files found.
ftp> put tmul.out
200 PORT command successful.
150 Opening ASCII mode data connection for tmul.out.
226 Transfer complete.
local: tmul.out remote: tmul.out
1882 bytes sent in 0.0095 seconds (1.9e+02 Kbytes/s)
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
tmul.out
226 Transfer complete.
9 bytes received in 0.0021 seconds (4.3 Kbytes/s)
ftp> mput *
mput Makefile? y
200 PORT command successful.
150 Opening ASCII mode data connection for Makefile.
226 Transfer complete.
local: Makefile remote: Makefile
1020 bytes sent in 0.0062 seconds (1.6e+02 Kbytes/s)
mput tmul.out? n
ftp> quit
221 Goodbye.
除此之外,还有其他可用的日志记录吗?您显示的是FTP日志。FTP是一种文本协议(命令以文本形式发送),因此日志记录非常简单。SFTP是一种完全不同的协议,具有二进制命令。最好的选择是在调用每个SFTP方法之前和之后添加自己的日志记录 啊。我只是假设SFTP协议只是对典型的FTP会话进行加密。我没有意识到它重新定义了信息传输的基本协议。也就是说,我能够通过源代码(它也是开源的)挖掘,并从中获得我需要的日志记录。出于好奇,你为什么认为SSH.NET已经过时了?它仍在维护中,似乎运行良好。我看到你开发了一种竞争产品……这与此有关吗?;)@MichaelStoner所有这些开源名称都太令人困惑了。。。有一个名为SharpSSH的旧库,ssh.net标记提到SharpSSH是源代码。