我有问题,当我尝试使用 FTP4J 从 FTP 服务器下载文件时,我收到此错误消息:
您已使用 IPv6 连接。 PASV 仅适用于 IPv4。您必须改用 EPSV 命令
事情是,因为我在本地使用它们,所以我对所有这些都使用“localhost”,所以我不知道“IPv6”来自哪里
我使用以下设置:
客户:FTP4J
服务器:FileZilla 服务器 1.6.7
代码:
private static boolean ftpAltProxyTest() throws IllegalStateException, IOException, FTPIllegalReplyException, FTPException, FTPDataTransferException, FTPAbortedException {
//Verbindung aufbauen
FTPClient ftpClient = new FTPClient();
ftpClient.connect("localhost", "21");
ftpClient.login(ftpUser, ftpPass);
if(!ftpClient.isAuthenticated()){
ftpClient.disconnect(true);
return false;
}
ftpClient.download("Test/Hallo.txt", new java.io.File("test/Hallo_FTP_ftp4j.txt"));
ftpClient.disconnect(true);
return true;
}
我在 Apache Commons Net 上遇到了同样的问题,但我可以用
ftpClient.setUseEPSVwithIPv4(true);
消除它,但在 FTP4J 中似乎没有类似的问题。
我错过了什么吗?