FTP 命令和错误返回码

网上转过来
Ftp协议:RPC959

  命令和返回码:

  C-->S:命令

  S-->C:返回码

  每一个Ftp发送之后,Ftp服务器都会返回一个字符串,其中包括一个返回代码和一串说明信息。这个返回码主要是用于判断命令是否被成功执行了。除此之 外,还有一个非常重要的命令的返回。当发送PASV之后,返回“227 Entering Passive Mode (127,0,0,1,4,18)”。这意味着在服务器上有一个端口被开放,他将为我们后面接着的数据传输作好准备,但是我们如何知道该端口号呢,就在 (127,0,0,1,4,18)中,前面四位指服务器的地址,关键是最后两位,将最后第二位乘256再加上最后一位的值就是我们的端口号,也就是 4*256+18。取得端口号之后我们就可以用socket连接到这里。这为我们后面的工作作好准备了,因为我们的取得列表,上传,下载文件都要依靠它来 实现。

  一个非典型的ftp交互实例:

  Response: 220 Gene6 FTP Server v3.10.0 (Build 2) ready...

  Request: USER anonymous

  Response: 331 Password required for anonymous.

  Request: PASS notexist.com

  Response: 230 User anonymous logged in.

  Request: CWD board

  Response: 250 CWD command successful. "/board" is current directory.

  Request: TYPE I

  Response: 200 Type set to I.

  Request: SIZE 4saac062.zip

  Response: 213 248288

  Request: RETR 4saac062.zip

  Response: 150 Data connection accepted from x.x.x.x:2841; transfer starting for /board/4saac062.zip (248288 bytes)

  FTP命令:

  灰色的命令一般很少使用,所以往往在具体实现中不被支持,所以可能返回的信息是“500 'xx': command not understood”。

  命令 描述

  ABOR 中断数据连接程序

  ACCT <account> 系统特权帐号

  ALLO <bytes> 为服务器上的文件存储器分配字节

  APPE <filename> 添加文件到服务器同名文件

  CDUP <dir path> 改变服务器上的父目录

  CWD <dir path> 改变服务器上的工作目录

  DELE <filename> 删除服务器上的指定文件

  HELP <command> 返回指定命令信息

  LIST <name> 如果是文件名列出文件信息,如果是目录则列出文件列表

  MODE <mode> 传输模式(S=流模式,B=块模式,C=压缩模式)

  MKD <directory> 在服务器上建立指定目录

  NLST <directory> 列出指定目录内容

  NOOP 无动作,除了来自服务器上的承认

  PASS <password> 系统登录密码

  PASV 请求服务器等待数据连接

  PORT <address> IP 地址和两字节的端口 ID

  PWD 显示当前工作目录

  QUIT 从 FTP 服务器上退出登录

  REIN 重新初始化登录状态连接

  REST <offset> 由特定偏移量重启文件传递

  RETR <filename> 从服务器上找回(复制)文件

  RMD <directory> 在服务器上删除指定目录

  RNFR <old path> 对旧路径重命名

  RNTO <new path> 对新路径重命名

  SITE <params> 由服务器提供的站点特殊参数

  SIZE〈FILENAME〉 文件大小,执行成功返回 213

  SMNT <pathname> 挂载指定文件结构

  STAT <directory> 在当前程序或目录上返回信息

  STOR <filename> 储存(复制)文件到服务器上

  STOU <filename> 储存文件到服务器名称上

  STRU <type> 数据结构(F=文件,R=记录,P=页面)

  SYST 返回服务器使用的操作系统

  TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)

  FTP返回码/响应码:

  响应代码 解释说明

  110 新文件指示器上的重启标记

  120 服务器准备就绪的时间(分钟数)

  125 打开数据连接,开始传输

  150 打开连接

  200 成功

  202 命令没有执行

  211 系统状态回复

  212 目录状态回复

  213 文件状态回复

  214 帮助信息回复

  215 系统类型回复

  220 服务就绪

  221 退出网络

  225 打开数据连接

  226 结束数据连接

  227 进入被动模式(IP 地址、ID 端口)

  230 登录完成

  250 文件行为完成

  257 路径名建立

  331 要求密码

  332 要求帐号

  350 文件行为暂停

  421 服务关闭

  425 无法打开数据连接

  426 结束连接

  450 文件不可用

  451 遇到本地错误

  452 磁盘空间不足

  500 无效命令

  501 错误参数

  502 命令没有执行

  503 错误指令序列

  504 无效命令参数

  530 未登录网络

  532 存储文件需要帐号

  550 文件不可用

  551 不知道的页类型

  552 超过存储分配

  553 文件名不允许

你可能感兴趣的:(数据结构,c,socket,网络协议,REST)