我正在尝试通过我的 java 代码连接到客户端 ftps 服务器。我正在使用 apache commons library 来做到这一点。但是,我无法这样做。谁能帮我解决这个问题。
客户端服务器使用 FTPS/隐式 SSL 连接并使用被动模式进行数据连接。
我的代码如下:
public static void connectServer(String host, int port, String userName, String password) throws Exception {
FTPSClient client = new FTPSClient("SSL", true);
String remote = "Contact.xml";
File inFile = new File("C:/Documents/Applications/Contact.xml");
File outFile = new File("C:/Documents/Applications/Sample.xml");
InputStream input = new FileInputStream(inFile);
InputStream out = new FileInputStream(outFile);
try {
if(client.isConnected()){
client.disconnect();
}
client.connect(host,990);
client.enterLocalPassiveMode();
client.enterRemotePassiveMode();
client.login(userName, password);
client.setBufferSize((int)inFile.length()+100);
client.completePendingCommand();
System.out.println(client.printWorkingDirectory());
System.out.println(inFile.getAbsolutePath());
client.storeFile(remote, input);
out = client.retrieveFileStream("/folder/inputfeed.xml");
client.completePendingCommand();
client.logout();
} catch (Exception e) {
e.printStackTrace();
System.err.println(client.getReplyString());
} finally {
out.close();
input.close();
client.disconnect();
}
}
此代码不会引发任何异常,但我没有看到文件被复制到服务器,也没有任何数据被复制到我的 InputStream。此外,用于获取工作目录的 sysout 语句会返回正确的目录。我还可以通过 Filezilla 和 WinSCP 连接到服务器。
请帮忙,我遇到了这个问题。
谢谢