«Политика 534 требует SSL» при подключении к серверу FTPS с помощью commons-net - PullRequest
1 голос
/ 23 февраля 2012

Я пытаюсь подключиться к серверу FTPS с помощью библиотеки commons-net .Я могу правильно подключиться, но при попытке вывести список файлов выдается сообщение об ошибке «534 Policy требует SSL.»

import java.io.IOException;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPSClient;
import org.apache.commons.net.util.TrustManagerUtils;

public class Test {

    public static void main(String[] args) throws SocketException, IOException {
        FTPSClient c = new FTPSClient("SSL", false);
        c.setTrustManager(TrustManagerUtils.getValidateServerCertificateTrustManager());
        c.connect("10.10.6.225", 21);
        c.login("ftpuser", "Passw0rd");
        c.changeToParentDirectory();
        for (String s : c.getReplyStrings()) {
            System.out.println(s);
        }

        c.listFiles();
        for (String s : c.getReplyStrings()) {
            System.out.println(s);
        }
        for (FTPFile f : c.listFiles("/TestFolder")) {
            System.out.println("file");
            System.out.println(f.getName());
        }
        c.disconnect();
    }

}

1 Ответ

15 голосов
/ 13 ноября 2012

После входа в систему:

c.login("ftpuser", "Passw0rd");

попробуйте добавить:

c.setFileType(FTP.BINARY_FILE_TYPE);
c.execPBSZ(0);  // Set protection buffer size
c.execPROT("P"); // Set data channel protection to private
c.enterLocalPassiveMode();
...