telnet 实现ftp协议

来源:互联网 发布:尚学堂 java架构师 编辑:程序博客网 时间:2024/05/16 05:47
Author:zfive5(zhaozidong)
Email:zfive5@yahoo.com.cn

引子:

前些日子csdn的一个网友给我发了一个短消息,问怎样实现FTP断点上传!刚开始我兴致勃勃的编开代码,当越编越多时—突然意识到,没有必要这样!在telnet给他演示一下就ok了!

FTP协议就不用介绍了,断点上传主要用到了APPE指令(FTP指令解释见附录)。


原理:

1.首先登录FTP服务器。
2.得到远端文件大小(LIST或SIZE)。
3.使用APPE指令(需要说明的是APPE在一些服务器直接被服务器解析成了STOR命令,所以这里说的断点也就不能用了) 指定需要断点续传的文件。
4.客户端根据服务器文件大小,读到断点之后的数据,发往服务器。
5.当发送完成数据后,退出即可。


示例:

FTP服务:Serv-U FTP Server v6.3
本地文件: 1.TXT  
内    容: “I am ZFIVE5”
远端文件:1.TXT
内    容: “I am ”

复制  保存
CMD: telnet 127.0.0.1 21S:220 Serv-U FTP Server v6.3 for WinSock ready...C:USER AS:331 User name okay, need password.C:PASS AS:230 User logged in, proceed.C:SIZE 1.TXTS:213 5C:PASVS:227 Entering Passive Mode (127,0,0,1,11,79)CMD:TELNET 127.0.0.1 2895C:APPE 1.TXTS:150 Opening ASCII mode data connection for 1.TXT.C:ZFIVE5CLOSE WindowsS:226 Transfer complete.C:QUITS:221 Goodbye!





截图:

单击显示全图,Ctrl+滚轮缩放图片

原创粉丝点击