2014-02-25 149 views
1

我尝试做基本的ftp客户端,并且遇到问题。我用正确的响应成功地发送了用户名和密码,然后如果我想发送其他命令,它每次发回我“500未知命令”。 我能做什么错?FTP:500未知命令

代码:

string message = "PWD"; 
message.append("\n"); 
cout << message; 
if((send(mysocket,message.c_str(),message.size() + 1, 0)) < 0){ 
    cerr << "Error" << endl; 
    return -1; 
} 
+1

检查与wirehark的流量 – deviantfan

+1

我检查了它,但无法找到问题..有wireshark的屏幕http://postimg.org/image/uwu9jfsot/ – Allda

+0

嗯,不知道直到现在。服务器也可以。你能展示更多的代码,甚至可以编译的东西吗? – deviantfan

回答

0

有一个在FTP,其所谓的CWD没有PWD命令。有关FTP命令,请参阅RFC959。

+1

我使用这些命令[链接](http://www.pda-archives.com/dmbrowne/ftpclient.htm),但没有人工作: - /与CWD它是相同的.. – Allda

+1

您可能会尝试使用\ r \ n而不是\ n。根据RFC \ r \ n是正确的行结束,并且一些服务器可能想要执行此操作。如果这没有帮助,请提供一个pcap(例如,不仅仅是一个wireshark的图片)以查看真正发生的事情。 –