FTP Client的实现
来源:互联网 发布:淘宝怎么找代销 编辑:程序博客网 时间:2024/05/12 09:37
最近在搞FTP文件传输,以前完全没接触过,所以刚开始弄都不知道怎么着手,其实说白了FTP就是一个TCP的文件传输。
FTP是基于TCP的传输协议,所以它的本质就是TCP连接,你可以随便找一个TCP工具,下一个FTP的服务器,就能连接上,我自己实现的客户端,过程如下:
1. 建立TCP连接,FTP服务器端口是固定的21
2. 登录FTP服务器,user admin,如果这里是自己实现FTP客户端,admin后面有换行的,即实际上应该写入user admin\r\n ,然后是pass 123456,所有写入的命令都要加换行符。
3. 设置Type ,type i
4. 获取数据连接端口号,pasv,返回的命令形式为0227 Entering Passive Mode (192,168,0,21,4,5),即端口号为4*256+5
5. 建立数据连接,新建立一个pasv返回端口的连接,用作数据传输的通道。
6. 在命令的连接里面输入 stor filename 上传文件,关闭数据连接,则表示上传完成。
命令如下:
命令描述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 地址和两字节的端口 IDPWD显示当前工作目录QUIT从 FTP 服务器上退出登录REIN重新初始化登录状态连接REST <offset>由特定偏移量重启文件传递RETR <filename>从服务器上找回(复制)文件RMD <directory>在服务器上删除指定目录RNFR <old path>对旧路径重命名RNTO <new path>对新路径重命名SITE <params>由服务器提供的站点特殊参数SMNT <pathname>挂载指定文件结构STAT <directory>在当前程序或目录上返回信息STOR <filename>储存(复制)文件到服务器上STOU <filename>储存文件到服务器名称上STRU <type>数据结构(F=文件,R=记录,P=页面)SYST返回服务器使用的操作系统TYPE <data type>数据类型(A=ASCII,E=EBCDIC,I=binary)USER <username>>系统登录的用户名标准 FTP 信息如下: 0 0
- FTP Client的实现
- OpenAT实现FTP Client 的 DOTA
- 关于FTP client下载进度条的开发与实现思路
- 用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容并用C代码来简要模拟实现Windows自带的ftp client
- OpenAT自行编码实现ftp client
- ftp client
- FTP Client
- ftp client
- ftp client
- 写ftp client的心得(1)
- ftp Client递归下载ftp上某个文件夹的文件
- java中实现ftp功能(server以及client)
- 用apache FTP client实现FTP客户端--支持断点续传和中文文件 .
- Ftp Client(java)
- FTP Server/Client
- write FTP client
- FTP client程序
- Python 编写 FTP Client
- 使用Java 注解
- 【JAVA学习】轻量级与重量级
- angularjs 一些概念说明
- FindBugs 的使用
- Android gallery 3D效果
- FTP Client的实现
- Linux下ar、nm命令用法小结
- uploadify上传文件HTTP ERROR
- 解析hdoj_1062;
- android api分析06 Intent
- Android 使用URL通过浏览器调用android app
- 静态成员简介
- oracle 的 decode函数
- 链接HTML5 保存