Apache FTPSClient跨操作系统问题

时间:2016-02-15 08:28:40

标签: java apache ftp

我的Windows 7使用FileZilla Server提供FTP服务。另一方面,Debian客户端想通过Apache FTPsClient访问FTP服务器。我构建客户端的方式如下所示:

FTPSClient client = new FTPSClient("TLS", true);
client.setAuthValue(authValue);
client.configure(new FTPClientConfig(FTPClientConfig.SYST_UNIX));
client.connect("127.0.0.1", 990);
client.login("username", "password");
client.execPBSZ(0);
client.execPROT("P");
client.enterLocalPassiveMode();

使用Windows上的上述客户端,我可以成功检索FTP服务器中的目录列表。然而,Debian上的同一个客户端无法连接到我的Windows服务器。愿有人帮我一把吗?非常感谢^^

Debian客户端抛出以下异常:

java.net.ConnectException: Connection timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:188)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:209)

虽然没有上述连接事件的日志。

1 个答案:

答案 0 :(得分:0)

首先,非常感谢Martin Prikryl。

按照设置指南,我已经在防火墙上创建了一个允许访问端口以进行正常FTP文件传输的规则,但是没有端口990的规则。在为端口990创建新规则后,一切正常。< / p>

参考设置指南
http://www.howtogeek.com/140352/how-to-host-an-ftp-server-on-windows-with-filezilla/