關於Ftp協議;
Ftp命令;
Ftp返回值;
Ftp編程結構;
關於Ftp協議:
關於Ftp協議,我想都大概了解,所以不做說明了。以下是RPC959的介紹:
The objectives of FTP are 1) to promote sharing of files (computer
programs and/or data), 2) to encourage indirect or implicit (via
programs) use of remote computers, 3) to shield a user from
variations in file storage systems among hosts, and 4) to transfer
data reliably and efficiently. FTP, though usable directly by a user
at a terminal, is designed mainly for use by programs.
Ftp命令:
也許很多人都用過Ftp命令,但是可能也有許多人和我曾經犯一樣的錯誤,錯認了Ftp命令。我原來在win2000的控制台下打上Ftp,然後進入了Ftp提示符下,接著我用上了許多符有“windows”特色的命令,如“dir”,“cd”,看到它按照自己的想法在運行,以為自己便掌握了Ftp命令了。我非常有信心的打開編程工具,寫一個socket,然後向ftp服務器連接了。當然,服務器返回了信息提示是連接成功了,我便開始發送剛才用過的一些命令,可返回的信息大多都是“500 'xx': command not understood”。
最後,我發送了help命令,返回的結果讓我驚異不已,裡面的命令大多我都沒用過。原來這些才是真正的Ftp命令。Windows裡面的只是Ftp的客戶端工具,裡面的命令根本不是Ftp命令。網上有許多資料裡也是把windows裡Ftp客戶端的命令和Ftp命令混在一起。真正的Ftp命令應參考RFC959文檔中的說明(其實一些Ftp工具如CuteFtp裡也把命令顯示出來)。其中經常被使用的命令包括如下:
ABOR:中止;
CWD 目錄名:改變現有目錄;
CDUP:返回到父級目錄;
REIN:重新初始化服務器狀態;
QUIT:退出;
PORT:設置數據傳輸端口;
PASV:轉為被動方式
TYPE A/I:傳輸方式;
MODE S/B/C:傳輸方式?;
RETR 文件名:下載文件;
STOR 文件名:上傳文件;
APPEND 追加本地文件到服務器;
RNFR:修改原文件名(修改之前的文件名)
RNTO:修改後的文件名;
DELE 文件名:刪除文件;
RMD 目錄夾:刪除文件夾;
MKD 目錄:新建目錄;
PWD 當前工作目錄;
LIST:列出該目錄中的項目;
SYST:查看服務器操作系統信息;
STAT查看Ftp參數狀態;