0

我有一个使用 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.  

除此之外,还有其他可用的日志记录吗?

4

1 回答 1

0

您显示的是 FTP 日志。FTP 是一种文本协议(命令以文本形式发送),因此日志记录非常简单。SFTP 是具有二进制命令的完全不同的协议。您最好的选择是在调用每个 SFTP 方法之前和之后添加您自己的日志记录。

于 2015-02-14T08:31:18.303 回答