FTP学习的一些笔记
来源:互联网 发布:广告联盟知乎 编辑:程序博客网 时间:2024/04/30 07:19
FTP大约在2011年下半年接触的,这个笔记也是当时记录的,一晃差不多4年过去了,如今又有项目安排做这个,事是人非,冥冥之中又会有新意思么?
找出当年写的笔记,权当记念。
1、每个FTP命令(包括应答信息),以“\r\n”结尾。
2、当connect成功后,就可以读取FTP服务器的欢迎信息。如:
char tmp[100];
int ret;
ret = Receive(tmp, sizeof(tmp), 10);
tmp[ret] = '\0';
字符串形式:220 Welcome to blah FTP service, I am Late Lee ^_^."\r\n"\0
3、PASV模式应答信息:
227 Entering Passive Mode (172,18,222,100,18,255)."\r\n"\0
其中18*256 + 255是数据端口号。
char tmp[100];
int ret;
ret = Receive(tmp, sizeof(tmp), 10);
tmp[ret] = '\0';
字符串形式:220 Welcome to blah FTP service, I am Late Lee ^_^."\r\n"\0
3、PASV模式应答信息:
227 Entering Passive Mode (172,18,222,100,18,255)."\r\n"\0
其中18*256 + 255是数据端口号。
4、ACTIVE模式命令:
客户端发送:PORT 192,168,18,188,N,M
服务器返回:200 PORT Command successful.
其中客户端需要产生大于1024的端口NUM = N*256 + M
5、CWD CDUP 命令返回两条响应信息,要注意!-->正确说法是多行响应信息
250-Disk free space at this directory is 455,099,184 KB.
250 CWD command successful
(在dos下ftp工具测试结果)
6、数据传输有两条通道,一为命令(21端口),另一为数据通道(由PASV命令返回结果得到端口号)。
需要进入数据传输的有以下命令:
上传:STO STOU APPE
下载:RETR LIST NLST
connet返回两次响应信息:
227 Entering Passive Mode (172,18,222,100,10,181).
150 Opening BINARY mode data connection for 1234.dat (RETR命令此处有文件大小信息)
send/receive data
closesocket返回一次:
226 Transfer complete.
上面所述者均为另建一socket进行数据传输,每次完成需要关闭,即使这成为整体(create connect send/receive close)。
7、重命名:
RNFR
返回信息:
出错:550 foo.dat No such file or directory
成功:350 File or directory exists, ready for destination name.
RNTO
返回信息:
出错:503 Bad sequence of commands
成功:250 Rename successful
250-Disk free space at this directory is 455,099,184 KB.
250 CWD command successful
(在dos下ftp工具测试结果)
6、数据传输有两条通道,一为命令(21端口),另一为数据通道(由PASV命令返回结果得到端口号)。
需要进入数据传输的有以下命令:
上传:STO STOU APPE
下载:RETR LIST NLST
connet返回两次响应信息:
227 Entering Passive Mode (172,18,222,100,10,181).
150 Opening BINARY mode data connection for 1234.dat (RETR命令此处有文件大小信息)
send/receive data
closesocket返回一次:
226 Transfer complete.
上面所述者均为另建一socket进行数据传输,每次完成需要关闭,即使这成为整体(create connect send/receive close)。
7、重命名:
RNFR
返回信息:
出错:550 foo.dat No such file or directory
成功:350 File or directory exists, ready for destination name.
RNTO
返回信息:
出错:503 Bad sequence of commands
成功:250 Rename successful
李迟 5.6半夜
0 0
- FTP学习的一些笔记
- FTP协议学习笔记
- FTP 源码学习笔记
- FTP协议学习笔记
- Ftp学习笔记
- FTP协议学习笔记
- FTP学习笔记
- FTP学习笔记
- ftp的一些问题
- 我的一些学习笔记
- 原来的一些学习笔记
- 学习C#的一些笔记
- shell的一些学习笔记
- 一些ffmpeg的学习笔记
- 【转】学习的一些笔记
- C#的一些学习笔记
- oracle的一些学习笔记
- Python的一些学习笔记
- 从零开始学习,Apache Spark源码走读(一)
- [好程序员训练营]-----java基础笔记之设计模式之单例模式和工厂模式
- 第36课第二题
- asp.net 自定义组合控件必须继承INamingContainer接口原因分析
- DTE Linux、SELinux与SEAndroid之间的对比分析
- FTP学习的一些笔记
- 堆排序
- 【算法设计-链表】单链表与双向循环链表
- 使用Angular提交表单
- Outlook 2013 pst/ost邮件数据文件迁移实现
- 使用Java VisualVM监控远程JVM
- Android UI设计: 仿QQ好友列表分组悬停,自定义Header,下拉刷新结合Demo
- XML基础见解
- selenium webdriver学习(一)---如何处理alert、confirm、prompt对话框