2014-02-25 76 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的圖片)以查看真正發生的事情。 –