我们在产品中使用 FTP 已经很长时间了。多年来,我们没有遇到任何问题。
我们的代码期望列的输出如下:
ftp> dir
200 Port command successful
150 Opening data channel for directory listing of "/"
-r--r--r-- 1 ftp ftp 177 Feb 03 2014 CEA2 file1
-r--r--r-- 1 ftp ftp 121 Feb 11 2014 CEA2 file2
我们的代码使用这个:
fsize = atol(ftp_entry[4])
上周我们有一位客户使用 Windows NT,由于第 5 列 [4] 是输出中的文件名,因此系统崩溃了:
ftp> dir
227 Entering Passive Mode
125 Data connection already open; Transfer starting.
10-28-20 12:54 PM 321450029 file1
这是正常输出吗?为什么 Windows NT 的输出不同?这是预料之中的吗?我在 NT 文档中找不到任何相关示例。
有什么方法可以将输出更改为与 Linux/Windows 相同?