FTP協議(指令集)

來源:互聯網
上載者:User

FTP協議採用一系列簡單的協議來完成檔案傳輸的各種任務,在發送命令的時候,總是在命令的最後加上一個斷行符號分行符號,在VB中可以用“vbcrlf”來實現,vc中以“/r/n”表示。以下的命令是從Postel和Reynolds所著的RFC 929修改而來,如果讀者想查看詳細內容,可以參見英文版RFC 929。注意以下出現地標誌符CRLF表示的是斷行符號符號,即相當於VC中的“/r/n”。 1.  ABOT(Abort,中止)命令

說明:告訴伺服器中止上一次FTP服務命令及所有相關的資料轉送。

用法:ABOR﹝CRLF﹞

參數:無。

例子:

SendData "ABOR" + “/r/n”

注釋:中止命命令可以請求“特殊操作”以強行引起伺服器的重視(詳情請參看RFC959)。如果上一次命令已經完成(包括資料轉送),就不會導致任何操作。伺服器不會關閉控制串連,但必須關閉資料連線。

伺服器在接收到此命令時可能處於兩種狀態下:(1)FTP服務命令已經完成,(2)FTP服務命令尚在處理中。

在第一種狀態下,伺服器關閉資料連線(如果它是開啟的)並響應以226應答,表示已成功執行了中止命令。

在第二種狀態下,伺服器中止正處理中的FTP服務並關閉資料連線,返回426應答,表示該服務要求被異常終止。然後伺服器發送226應答,表示成功執行了中止命令。

l         225  資料連線開啟,沒有進行中的傳輸

l         226  關閉資料連線,請求的檔案操作成功。

l         421  服務不可用,關閉控制串連。

如果某項服務獲知自己即將關閉,會向所有命令做出這個應答。

l         226  串連關閉,傳輸終止。

l         500  語法錯誤,無法識別命令。

這其中包括命令列過長之類的錯誤。

l         501  參數或變元中有語法錯誤。

l         502  命令還沒有被實現。 2.  ACCT(Account,帳號)命令

說明:指定使用者的帳號資訊。這條命令只能在發送PASS命令並接收到332代碼之後發送。

用法:ACCT<Account><CRLF>

參數:Account是使用者的帳號,訪問某些服務時可能另外需要它。

例子:

SendData "ACCTN322s"  + “/r/n

注釋:當登入需要帳號資訊時,一條成功的PASS命令的響應是應答代碼332。反之,如果登入不需要帳號資訊,成功的PASS命令的應答是230;如果在對話中後來發出的命令需要帳號資訊,伺服器會返回332或532應答,這分別取決於它是儲存(在接收ACCT命令期間)還是丟棄此命令。

傳回值(粗體表示成功):

l         202  命令還沒有被實現,在此網站上是多餘的。

l         230  使用者已登入,請繼續。

l         421  服務不可用,關閉控制串連。

如果某項服務獲知自己即將關閉,會向所有命令做出這個應答。

l         500  語法錯誤,無法識別命令。

這其中包括命令列過長之類的錯誤。

l         501  參數或變元中有語法錯誤。

l         502  命令還沒有被實現。

l         503  命令的順序不對。

l         530  無法登入。 3.  ALLO(Allocate,分配)命令

說明:傳送檔案前在伺服器上分配X個位元組

用法:ALLO<NumberBytes[<MaxSize>]<CRLF>

參數:NumberBytes是一個整數,代表為該檔案保留的記憶體位元組數(使用邏輯位元組大小計算)。MaxSize是在使用記錄或頁資料結構時可選的最大記錄或頁大小。

例子:

SendData "ALLO 3000 128"  + “/r/n

注釋:一些要保留足夠記憶體以容納將要傳輸的新檔案的服務,會請求這條命令。對於用記錄或頁結構發送的檔案來說,最大記錄或頁大小(以邏輯位元組計)也可能是必需的;它以這條命令的第二個參數欄位中的十進位整數表示。這第二個參數是可選的,但在出現時應該與第一個參數三個ASCII字元<SP>P<SP>分隔開。這條命令後跟一條STORe或APPEnd命令。那些不要求事先聲明最大檔案大小的伺服器應該把ALLO命令視為NOOP(不操作),而那些只關心最大記錄或頁大小的伺服器應該受第一個參數的值,然後忽略它。

傳回值(粗體表示成功):

l         200  命令成功。

l         202  命令還沒有被實現,在此網站上是多餘的。

l         421  服務不可用,關閉控制串連。

如果某項服務獲知自己即將被關閉,會向所有命令做出這個應答。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.