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 21 S:220 Serv-U FTP Server v6.3 for WinSock ready... C:USER A S:331 User name okay, need password. C:PASS A S:230 User logged in, proceed. C:SIZE 1.TXT S:213 5 C:PASV S:227 Entering Passive Mode (127,0,0,1,11,79) CMD:TELNET 127.0.0.1 2895 C:APPE 1.TXT S:150 Opening ASCII mode data connection for 1.TXT. C:ZFIVE5 CLOSE Windows S:226 Transfer complete. C:QUIT S:221 Goodbye!
截图: