2013-05-13 172 views
2

我在通过apache FTP客户端连接到我的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服务器。

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

+0

您的防火墙是否可能阻止您? (也许FileZilla已被允许通过防火墙)。 – 2013-05-13 08:01:11

+0

嗨,我需要输入我的端口到ftpclient – Souvik 2013-05-13 08:24:15

回答

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?

+0

在FileZilla我使用端口22连接到FTP服务器。 如何在FTPClient中设置端口号? – Souvik 2013-05-13 12:45:37

+0

查看我更新的答案。如果有帮助,请不要忘记接受答案:) – 2013-05-13 12:53:52

+0

不理会我以前的评论。虽然事实上是正确的,但这里的重点是'22'是SFTP端口。所以看到我的答案3)。 – 2013-05-13 13:06:15