仍然没有答案。任何和所有帮助表示赞赏!
我正在使用Apache Commons-Net3.1并试图使FTPS正常工作。尝试连接时,控制台中出现以下错误:
---编辑:代码和错误已更新---
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:171)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:192)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:285)
我确信我只是没有正确设置它。这是我的代码。朝正确方向的任何观点将不胜感激。 (我试图通过端口990进行连接)。在“ client.connect(ftpHost);”行的代码错误。
import org.apache.commons.net.ftp.FTPSClient;
import java.io.IOException;
import java.io.FileOutputStream;
public class MyFTP {
public void downloadFTP(){
FTPSClient client = new FTPSClient(false);
FileOutputStream fos = null;
client.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager());
try {
client.connect(ftpHost);
client.enterLocalPassiveMode();
client.login(ftpUser, ftpPassword);
String filename = "liveGUIfile.txt";
fos = new FileOutputStream(filename);
client.retrieveFile("/root/Desktop/" + filename, fos);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
最佳答案
FTPS可以是显式的或隐式的,您可以使用显式的:
FTPSClient client = new FTPSClient(false);
但是显式的通常使用21端口,就像FTP一样,而隐式的通常使用990端口。因此,尝试连接到21端口或使用
new FTPSClient(true)
关于java - Java FTPS问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11245335/