我正在使用FileZilla FTP Server Windows版。 我写了一个java程序来连接我的FTP服务器,并通过socket将FTP原始命令发送到服务器。 当我发送“LIST”时,我收到503错误:
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.37 beta
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> USER ggfan
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> 331 Password required for ggfan
(000002)2011/6/1 10:46:56 - (not logged in) (127.0.0.1)> PASS *****
(000002)2011/6/1 10:46:56 - ggfan (127.0.0.1)> 230 Logged on
(000002)2011/6/1 10:46:56 - ggfan (127.0.0.1)> LIST
(000002)2011/6/1 10:46:56 - ggfan (127.0.0.1)> 503 Bad sequence of commands.
(000002)2011/6/1 10:46:56 - ggfan (127.0.0.1)> QUIT
(000002)2011/6/1 10:46:56 - ggfan (127.0.0.1)> 221 Goodbye
请帮助
最好的问候
答案 0 :(得分:5)
我认为,为了进行数据传输(LIST是数据传输命令),您必须首先发出PORT命令以建立数据连接。解决这个问题的最好方法是阅读相关规范,或者(更有趣)启动Wireshark并查看使用正常工作的FTP客户端实际发生的情况。