现在的位置: 首页 > 综合 > 正文

telnet 实现ftp协议

2013年02月13日 ⁄ 综合 ⁄ 共 773字 ⁄ 字号 评论关闭

Author:zfive5(zhaozidong)
Email:

引子:

前些日子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!

截图:

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

抱歉!评论已关闭.