上传文件FTP服务器

时间:2013-05-13 07:53:23

标签: java ftp sftp

我在通过apache FTP客户端连接到我的ftp服务器时遇到困难。我发现很多程序,但我无法通过以下代码连接到我的ftp服务器。

FTPClient ftpClient = new FTPClient();
 ftpClient.connect("169.144.76.33");
 ftpClient.login("root", "re123set");

Exception:

java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
    at java.net.Socket.connect(Socket.java:546)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:176)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:268)

但每当我尝试通过文件zilla连接ip,用户名,密码,端口(没有端口无法连接)。我能够连接到ftp服务器。

所以请帮我解决这个问题..

1 个答案:

答案 0 :(得分:1)

根据您需要在Filezilla中输入端口(默认为FTP端口21),我假设您没有向FTPClient提供一些信息:

1)端口号(假设它与默认的21不同)。要连接到非默认端口,请使用带有两个参数的Connect重载:

public void connect(String hostname, int port)

2)您可能正在使用隐式SSL / TLS加密,FileZilla(但不是FTPClient)可以从端口号990中假设

3)您实际上想要使用SFTP(基于sftp标记和您的问题)。 FTPClient不支持SFTP协议,它与FTP完全不同。见How to retrieve a file from a server via SFTP?