FTP协议中的RETR和STOR命令

RETR和STOR命令是FTP协议中的下载和上传命令, 可以针对文件和目录. 下边就下载和上传单个文件, 将在Telnet中测试的心得描述如下:

一. 下载文件

客户端命令序列:

开一个Telnet窗口(称为"控制窗口"), telnet 127.0.0.1 21 (连接FTP Server, 这里我用的是Wing FTP Server 3.4.1 30天测试版) ---> user anonymous (匿名登录) ---> pass <空格> (匿名登录无密码) ---> rest 0 (从文件最开始出下载) ---> pasv (服务器返回连接端口) ---> 再开一个telnet窗口(称为"数据窗口"), telnet 127.0.0.1 <port> (port是服务器返回的端口号) ---> retr test.txt (下载文件"test.txt"), 这是可以在数据窗口中可以看到指定下载的test.txt文件的内容.

二. 上传文件

开一个Telnet窗口(称为"控制窗口"), telnet 127.0.0.1 21 (连接FTP Server, 这里我用的是Wing FTP Server 3.4.1 30天测试版) ---> user anonymous (匿名登录) ---> pass <空格> (匿名登录无密码) ---> type i (使用二进制传输) ---> size xxx.txt, cwd /xxx.txt (这两条命令主要是判断要上传的xxx.txt是否在服务器上已存在) ---> pasv (服务器返回连接端口) ---> stor xxx.txt (告知服务器准备上传文件xxx.txt) ---> 再开一个telnet窗口(称为"数据窗口"), telnet 127.0.0.1 <port> (port是服务器返回的端口号), 一旦建立了数据连接, 马上在控制窗口中返回提示"150 Opening BINARY mode data connection for file transfer." ---> 到这里, 我就不知道怎么在数据窗口中将xxx.txt的文件内容上传到服务器上去, 但是可以想到的: 如果在程序设计中, 这里应该是将文件内容读出后, 通过套接字(对应了这里的数据窗口)直接发送到服务器端, 传送完毕后, 此套接字关闭, 最后在控制套接字(控制窗口)中返回上传成功的提示"226 File received ok.Transfer bytes:4333Bytes;Average speed is:4.231KB/s"

对于下载操作来说, 是服务器读出文件内容, 用IP数据包传递到客户端, 客户端写入本地硬盘; 对于上传操作来说, 是客户端读出文件内容, 传递到服务器端, 服务器端写入本地硬盘. 至于下载/上传整个目录, 无非就是多了对目录的操作, 包括创建目录, 读取目录下边的所有文件, 将文件逐个下载/上传到创建的同名新目录中. 这应该是一套FTP协议命令的灵活组合. 如果目录中还包括子目录, 则形成了递归操作.

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值