FTP 文件上传
来源:互联网 发布:网络赚钱入门必读pdf 编辑:程序博客网 时间:2024/05/19 04:29
做了一个FTP上传的项目,发现上传到外网的时候报了一个错误:远程服务器返回错误:227 Entering passive mode
上网找资料仔细研究了一下,原来FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍如下:
主动 FTP :
命令连接:客户端 >1024 端口 → 服务器 21 端口
数据连接:客户端 >1024 端口 ← 服务器 20 端口
被动 FTP :
命令连接:客户端 >1024 端口 → 服务器 21 端口
数据连接:客户端 >1024 端口 ← 服务器 >1024 端口
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立 一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链 路来传送数据。
由于我的本地FTP服务器在外网,从外网映射了两个端口(20,21),所以无法使用PASV方式,解决此问题的办法也很简单,关闭客户端的PASV方式,强制其用PORT方式访问服务器。
reqFTP.UsePassive = false; //选择主动还是被动模式 ,
- 上传文件到FTP
- FTP上传文件
- FTP上传文件示例
- ftp上传文件
- FTP 文件上传
- FTP 文件上传
- FTP上传文件示例
- FTP上传文件
- ftp文件下载、上传
- FTP文件上传
- FTP上传文件
- ftp上传 下载文件
- Java ftp 文件上传
- Flex FTP文件上传
- struts1 ftp 文件上传
- ftp文件上传
- ftp上传文件2
- ftp文件上传3
- 继承扩展DataGrid的editors
- Linux 时间操作
- sed实例收集
- MFC中Tab控件的使用详解
- 关于_tcsrchr一行代码
- FTP 文件上传
- ASCII编码
- Jquery,css如何创建一个悬浮的广告页面?
- Hibernate自动建库建表
- Open vSwitch Q&A
- 《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记
- 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)
- OpenGL中设置颜色到底应该用小数还是整数?
- 旧上海黑社会老大杜月笙的名言 蛮有道理