4

commons-netライブラリを使用して FTPS サーバーに接続しようとしています。正しく接続できますが、ファイルを一覧表示しようとすると、「534 ポリシーには 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();
    }

}
4

1 に答える 1

20

ログイン後:

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();
于 2012-11-13T09:52:43.047 に答える