Q:用FTPClient,执行到ftp.storeFile(fileName, inputFile);无反应了
A: ftpclient.enterLocalPassiveMode();
ftp.storeFile(fileName, inputFile);问题解决
原因是:FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的 XXXX端口发送连接请求,建立一条数据链路来传送数据。 PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口 发送连接请求,建立一条数据链路来传送数据。
分享到:
相关推荐
sun.net.ftp.FtpClient,it.sauronsoftware.ftp4j.FTPClient,org.apache.commons.net.ftp.FTPClient三种不同的方式操作FTP
org.apache.commons.net.ftp.FTPClient包,不错,在实际项目和产品中使用过。
com.enterprisedt.net.ftp.FTPClient的jar包源代码以及文档 版本:edtftpj.2.2.2 2011-2-27
FTP应用的jar包,主要用于java开发FTP上传下载
FTPClient.zip FTPServer.zip FTPClient.zip FTPServer.zip FTPClient.zip FTPServer.zip
NULL 博文链接:https://vakinge.iteye.com/blog/487486
org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能
com.enterprisedt.net.ftp.FTPClient类库的jar包 edtFTPj-1.5.3.jar
com.enterprisedt.net.ftp.FTPClient类库的jar包,可以用来实现对FTP服务器端的处理。
FTPServer.zip FTPClient.zip FTPServer.zip FTPClient.zip FTPServer.zip FTPClient.zip FTPServer.zip FTPClient.zip FTPServer.zip FTPClient.zip
NULL 博文链接:https://starbhhc.iteye.com/blog/2315455
commons-ftp中ftpClient类的API.pdf
ftpClient.changeWorkingDirectory(path); ftpClient.enterLocalPassiveMode(); //由于apache不支持中文语言环境,通过定制类解析中文日期类型 ... FTPFile[] files = ftpClient.listFiles();
Apache Commons Net » 3.3 org.apache.commons.net.ftp.FTPClient
FTPClient封装了所有必要的功能来存储和检索从FTP服务器上的文件。 这个类负责所有与FTP服务器交互的底层细节,并提供了便捷的更高层次的接口。 正如来自所有类SocketClient ,您必须首先连接到与服务器connect做...
解决了某些系统中,ftpClient.listFiles()返回值总是为空的问题。 使用方法如下: ftpClient.changeWorkingDirectory(path); ...FTPFile[] fs = ftpClient.listFiles(); // 得到目录的相应文件列表
.net.ftp.FTPClient jar ,exaple, commons-net-2.0.jar
import it.sauronsoftware.ftp4j.FTPFile; import it.sauronsoftware.ftp4j.connectors.SOCKS4Connector; ...... //ftp4j使用socks4代理连接FTP示例,by http://bianbian.org FTPClient ftp = new FTPClient(); ...
连接到指定的FTP服务器(域名或IP) 不指定端口,则使用默认端口21 client.connect("ftp.host.com", /*21*/); 登录验证 client.login("user", "pswd"); 下面是匿名登录 //client.login("anonymous", "密码任意设置")...
CentOS某些版本中,JAVA代码执行ftpClient.listFiles()有时结果为空。本项目解决了这个问题。具体代码思路可以参考博客:http://blog.csdn.net/yingprince/article/details/51275956