我对 Java 很陌生,所以你解释得越多,我学到的东西就越多,我会问的问题就越少;) 我正在尝试编写一个客户端来连接到 ftp.availity.com,但我终生无法获得客户端登录。我尝试更改端口号(443、20 等),但它们都没有在控制台日志中返回响应,它只返回超时错误。我唯一可以采取行动的是端口 21。我知道这是 FTP,我认为这可能是错误的来源,但我不知道如何纠正它,因为显然更改端口 # 并不能纠正问题。任何帮助,将不胜感激!
这是我的代码:
import java.io.IOException;
import org.apache.commons.net.ftp.*;
public class FTPApp {
private static void showServerReply(FTPSClient ftpClient) {
String[] replies = ftpClient.getReplyStrings();
if (replies != null && replies.length > 0) {
for (String aReply : replies) {
System.out.println("SERVER: " + aReply);
}
}
}
public static void main(String[] args) {
String server = "ftp.availity.com";
int port = 21;
String user = "user";
String pass = "pass";
FTPSClient ftpClient = new FTPSClient();
try {
ftpClient.connect( server, port);
showServerReply(ftpClient);
int replyCode = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println("Operation failed. Server reply code: " + replyCode);
return;
}
boolean success = ftpClient.login(user, pass);
showServerReply(ftpClient);
if (!success) {
System.out.println("Could not login to the server");
return;
} else {
System.out.println("LOGGED IN SERVER");
}
} catch (IOException ex) {
System.out.println("Oops! Something wrong happened");
ex.printStackTrace();
}
}
}
这是错误:
Oops! Something wrong happened
javax.net.ssl.SSLException: 502 SSLv23/TLSv1
at org.apache.commons.net.ftp.FTPSClient.execAUTH(FTPSClient.java:242)
at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:225)
at org.apache.commons.net.SocketClient._connect(SocketClient.java:244)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:202)
at FTPApp.main(FTPApp.java:23)