我正在尝试访问我在ftps服务器中创建的路径中的文件夹,但它没有返回任何内容,它正在连接但不返回任何内容,如果我将服务器配置更改为ftp就可以了。我正在使用FileZilla Server,其配置在上面。
SSL / TLS
标记为true启用FTP over SSL / TLS支持(FTPS)并允许在SSL / TLS设置下通过TLS显式FTP
我的用户配置是:
Flat“强制SSL用于用户登录”在FireZilla Server的用户配置常规中为真。
服务器关于连接的日志正在收到消息,我不知道它是否有帮助:
227进入被动模式
LIST
521需要PROT P
PASV
227进入被动模式
NLST
521需要PROT P
退出
我要连接的示例类是上面的每个权限:
公共类FTPClientExample2 {
public static void main(String[] args)
{
String server = "myip";
int port = 2121;
String user = "joao";
String pass = "1234";
boolean error = false;
FTPSClient ftp = null;
try
{
ftp = new FTPSClient("SSL");
ftp.setAuthValue("SSL");
ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
int reply;
ftp.connect(server, port);
System.out.println("Connected to ftp.wpmikz.com.cn");
System.out.print(ftp.getReplyString());
// After connection attempt, you should check the reply code to verify
// success.
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
System.err.println("FTP server refused connection.");
System.exit(1);
}
ftp.login(user, pass);
// ... // transfer files
ftp.setBufferSize(1000);
ftp.enterLocalPassiveMode();
// ftp.setControlEncoding("GB2312");
ftp.changeWorkingDirectory("/");
ftp.changeWorkingDirectory("/ae"); //path where my files are
ftp.setFileType(FTP.BINARY_FILE_TYPE);
System.out.println("Remote system is " + ftp.getSystemName());
String[] tmp = ftp.listNames(); //returns null
System.out.println(tmp.length);
}
catch (IOException ex)
{
System.out.println("Oops! Something wrong happened");
ex.printStackTrace();
}
finally
{
// logs out and disconnects from server
try
{
if (ftp.isConnected())
{
ftp.logout();
ftp.disconnect();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
}
知道出了什么问题吗?
谢谢大家!
答案 0 :(得分:5)
尝试在登录后执行此操作
ftp.execPBSZ(0);
ftp.execPROT("P");