主要思想是使用RAW FTP命令将文件上载到FTP服务器,其中目标文件名与源文件名不同。在调试模式下通过FTP客户端发出命令时,我得到以下结果:
$ ftp -d ftp.server.com
Connected to ftp.server.com.
220 (vsFTPd 2.3.5)
Name (ftp.server.com:username): user
---> USER user
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> put sourcefile destinationfile
---> TYPE I
200 Switching to Binary mode.
---> PASV
227 Entering Passive Mode (178,179,180,181,128,19).
---> STOR destinationfile
150 Ok to send data.
226 Transfer complete.
2224142 bytes sent in 1.83 seconds (1218707 bytes/s)
ftp> quit
---> QUIT
221 Goodbye.
根据我从FTP协议的理解,STOR命令只会警告服务器保存传入数据流的位置,所以如果我要实现套接字连接,那么我只会写入套接字文件描述符这就是它(对吗?)。
我的问题是......有没有办法通过FTP RAW命令识别源文件名,例如,我是否会为此目的使用FTP客户端?